Ниже приведен простой класс, который запускает и останавливает вращение объекта с помощью двух кнопок, я надеюсь, что он станет отправной точкой того, чего вы пытаетесь достичь.
у меня есть объект. Когда я нажимаю кнопку Spin, я хочу, чтобы она вращалась. Когда я нажимаю кнопку Стоп, я хочу, чтобы она остановилась.
Он вращается нормально, когда его пустое обновление, но когда он в своей собственной функции, он делает это только один раз. Я пытался использовать петлю, но все равно не повезло. Кто-нибудь может мне помочь?
Код C #:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class spin : MonoBehaviour
{
public float speed = 500f;
public Button starter;
public Button stopper;
int testing = 200;
void Start () {
Button btn = starter.GetComponent<Button> ();
Button butn = stopper.GetComponent<Button> ();
butn.onClick.AddListener(FidgetSpinnerStop);
btn.onClick.AddListener(FidgetSpinnerStart);
}
void FidgetSpinnerStart ()
{
for (int i = 0; i < testing; i++) {
transform.Rotate (Vector3.up, speed * Time.deltaTime);
Debug.Log ("Test: " + i);
}
}
void FidgetSpinnerStop ()
{
transform.Rotate (Vector3.up, Time.deltaTime);
}
}
Заранее спасибо!