Как остановить таймер, когда пользователь сталкивается с объектом? (Единство) - PullRequest
0 голосов
/ 03 июля 2018

Я установил таймер, он отлично работает, но я не могу остановить его, когда пользователь сталкивается с другим объектом.

Text text; float theTime;

public bool timer;
void Start()
{
     text = GetComponent<Text>();
}
void Update()
{
     if (timer == true)
     {
         theTime += Time.deltaTime;
         string seconds = (theTime % 60).ToString("0");
         text.text = seconds;
     }
}
}

Мне не удается остановить таймер, когда пользователь сталкивается с каким-либо объектом.

Я пытался вызвать эталонные методы в интернете, но не сработало.

Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 03 июля 2018

Не совсем точно, где вы застряли, но после столкновения установите timer на false. Это может быть один в функции OnCollisionEnter или OnTriggerEnter в зависимости от типа столкновения. Если вы новичок в физике в Unity, см. этот учебник. Вам нужно посмотреть # 1 и # 2 , чтобы понять коллайдеры.

Если ваш тип столкновения не является триггером:

void OnCollisionEnter(Collision collision)
{
    timer = false;
}

При использовании триггера:

void OnTriggerEnter(Collider other)
{
    timer = false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...