Как сделать таймер в юнити

Как сделать таймер в юнити

4 просмотра

2 ответа

6 Репутация автора

У меня есть следующий код:

который добавляется к объекту. Проблема в том, что таймер запускается всякий раз, когда начинается сцена, а не когда нажимается пробел. Я не уверен, что я делаю неправильно. Любая помощь будет оценена.

Пожалуйста, если есть что-то непонятное или нуждающееся в дополнительных пояснениях, дайте мне знать в комментариях.

Ответы (2)

плюса

892 Репутация автора

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

Потому что time это значение, когда Space нажата.

Затем вы можете проверить, истекло ли время следующим образом:

плюса

7373 Репутация автора

Вместо того, чтобы делать это, Update я бы порекомендовал Coroutine и запускал его только Update при соблюдении условий . это делает его немного более безопасным и более простым в управлении.

В моей игре я хочу запустить таймер, когда пользователь оставит клики. Вот код, который у меня есть до сих пор:

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

c# timer unity3d unity5

3 ответа

1 Решение Khuram Nawaz [2016-06-22 03:56:00]

В своей функции обновления используйте функцию Input.GetMouseButtonDown(0), чтобы проверить, не щелкнул ли пользователь. Ваш код будет выглядеть так:

Хорошо отделить ваш таймер от функции обновления. Сделайте другую функцию. Coroutine идеально подходит для такого рода вещей, потому что вы можете легко использовать его, чтобы подождать некоторое время, а затем возобновить работу. Кроме того, компоненты кеша, если вы собираетесь использовать их более одного раза. Вы будете использовать переменную ping много, поэтому имеет смысл кешировать в функции Awake или Start .

Читайте также:  Как защитить wifi от несанкционированного доступа

0 Ash [2016-06-22 04:03:00]

Вам нужно использовать событие onMouseDown

Добавьте в существующий код следующее: Создайте логическую переменную, установите ее в false, сделайте ее true onMouseDown и начните таймер, только если он установлен в true:

Доброго времени суток. Хочу сделать обратный таймер в игре, с минутами, такого вида: 01:30 (минута:секунды).
Сам таймер в секундах получается простейшим способом сделать вот так:

Но не могу понять, как мне сделать минуты, если допустим 90 секунд в таймере, или 120, именно такого вида: 01:30 (01 — минуты, 30 секунды).
Подскажите пожалуйста, заранее спасибо большое.

  • Вопрос задан более двух лет назад
  • 1162 просмотра

Для такого случая лучше использовать DateTime и TimeSpan вместе с шаблонами форматирования:

Ссылка на основную публикацию
Как сделать прямую палку на клавиатуре
Косая черта – это знак, который можно набрать на клавиатуре компьютера. Он используется в интернете, в системе Windows, программировании, математике...
Как связаться с инстаграм по телефону
В этой статье расскажем о том, как работает горячая линия линия Инстаграмм, можно ли обратиться по телефону или доступен только...
Как связаться с инстаграмом
В этой статье расскажем о том, как работает горячая линия линия Инстаграмм, можно ли обратиться по телефону или доступен только...
Как сделать публичный pgp ключ
Использование PGP/GPG, руководство для нетерпеливых Данная статья представляет собой краткое руководство по использованию GnuPG (он же GPG). В ней вы...
Adblock detector