Проверьте, не остановился ли игрок более 3 секунд, а затем сделайте что-нибудь Unity - PullRequest
0 голосов
/ 12 января 2019

Я начал использовать Unity и создаю свою первую платформерную игру. Я хочу добавить функцию, при которой, если игрок перестает двигаться (по горизонтальной оси) на 3 секунды, он умирает и игра возобновляется.

Для первой части (проверка, движется ли игрок), я просто делаю это:

if(Mathf.Abs(rb.velocity.x) == 0)
    {
        Example();
    }

Я не уверен, где разместить этот код, и мне нужна помощь для реализации части "подождите 3 секунды". Любая помощь будет оценена. Спасибо!

1 Ответ

0 голосов
/ 12 января 2019

Вы можете реализовать временную часть следующим образом. Time.deltaTime дает вам время, прошедшее для этого конкретного кадра. Пока ваш игрок не двигается, вы добавляете в свой таймер.

float timePassed = 0.0f;

if(Mathf.Abs(rb.velocity.x) == 0)
{
    Example();
    timePassed += Time.deltaTime;
}
else
    timePassed = 0.0f;

Тогда, когда ваш таймер больше 3 секунд, вы можете убить своего игрока. Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...