Преобразование в зависимости от времени (Unity & C #) - PullRequest
0 голосов
/ 09 мая 2019

Я хочу, чтобы мой gameObject преобразовывал 0,5 единицы по оси X каждые 0,5 секунды, я создал сопрограмму для них, проверьте скрипт, в чем проблема?

private Rigidbody2D rb2d;
public float Speed;
// Start is called before the first frame update
void Start()
{
    rb2d = GetComponent<Rigidbody2D>(); 
    StartCoroutine(Movement());
}
IEnumerator Movement()
{
    yield return new WaitForSeconds(0.5f);
    transform.position = new Vector3(transform.position.x - 0.5f, transform.position.y, transform.position.z);

}

1 Ответ

0 голосов
/ 10 мая 2019

Вы должны использовать цикл. Если вы хотите бесконечный цикл, вы можете использовать «while (true)» или «for (;;)»

Пример

private Rigidbody2D rb2d;
public float Speed;
int k;

// Start is called before the first frame update
void Start()
{
    rb2d = GetComponent<Rigidbody2D>();

    StartCoroutine(Movement());

}
IEnumerator Movement()
{
    for (k = 1; k <= 100; k++)
    {
        yield return new WaitForSeconds(2f);
        transform.position = new Vector3(transform.position.x - 0.5f, transform.position.y, transform.position.z);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...