1 / 1 / 0
Регистрация: 15.10.2017
Сообщений: 38
|
||||||
1 | ||||||
Использование таймера в Unity02.01.2018, 17:00. Показов 7909. Ответов 13
Метки нет (Все метки)
Помогите пожалуйста!!! Пытаюсь сделать задержку действия после нажатия на кнопку.Мне надо сделать так, чтобы после нажатия на кнопку к переменной прибавлялась 1. Вот код.
0
|
02.01.2018, 17:00 | |
Ответы с готовыми решениями:
13
Запуск таймера Unity C# Хранение и использование данных в Unity [Unity] Использование нескольких камер Использование таймера |
12499 / 8683 / 1310
Регистрация: 21.01.2016
Сообщений: 32,613
|
|
02.01.2018, 17:10 | 2 |
RaymondNDo, речь идёт про игрушку?
0
|
1 / 1 / 0
Регистрация: 15.10.2017
Сообщений: 38
|
|
02.01.2018, 17:41 [ТС] | 3 |
Да, делаю игру и не могу понять, как установить задержку после нажатия на кнопку. Нажал, 4 секунды прошло и только после этого прибавляется единица
0
|
12499 / 8683 / 1310
Регистрация: 21.01.2016
Сообщений: 32,613
|
|
02.01.2018, 18:13 | 4 |
RaymondNDo, ваша задержка не должна влиять на игровой цикл. Сохраните время начала ожидания где-то, и на каждой итерации игрового цикла проверяйте разницу во времени (текущее время минус сохранённое). Когда эта разница станет больше четырёх секунд - выполняйте своё действие.
1
|
1 / 1 / 0
Регистрация: 15.10.2017
Сообщений: 38
|
|
03.01.2018, 01:02 [ТС] | 6 |
А можно ответ дать кодом, а то на словах как-то не очень понимаю.
0
|
1453 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
|
03.01.2018, 03:58 | 7 |
О! Очередной любитель совать асинхронность во все дыры!
Возможность есть, но речь идёт про игровое время!
1
|
12499 / 8683 / 1310
Регистрация: 21.01.2016
Сообщений: 32,613
|
|
03.01.2018, 07:28 | 9 |
Есть: System.Windows.Forms.Timer. Он ставит сообщения о "тиках" в общую очередь. Но хбз как это будет с юнити сочетаться.
Добавлено через 4 минуты Но я бы такое использовать не стал, ибо игровое время может отличаться от реального (пауза, например). Лучше организовать свою реализацию таймеров в игрушке. Кодом чего? Как текущее время в переменную сохранить, а потом сравнивать на каждой итерации? Это так сложно? Environment.TickCount в руки и вперёд. Кстати, а вы не интересовались, нет ли в юниты функционала таймера? Есть подозрение, что это ну очень востребованная фича, которая сто пудов должна быть в движке.
1
|
1 / 1 / 0
Регистрация: 15.10.2017
Сообщений: 38
|
|
03.01.2018, 12:15 [ТС] | 10 |
Ну посмотрим.
0
|
1453 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
|
03.01.2018, 17:42 | 11 |
0
|
04.01.2018, 23:25 | 12 | ||||||||||||||||||||
Сообщение было отмечено Usaga как решение
РешениеНе по теме: RaymondNDo, для Unity есть специальный раздел: https://www.cyberforum.ru/unity/ Метод Invoke:
Пример из документации:
2
|
1 / 1 / 0
Регистрация: 15.10.2017
Сообщений: 38
|
|
08.01.2018, 12:53 [ТС] | 13 |
Спасибо!!!
1
|
08.01.2018, 13:08 | 14 | |||||
Ещё один популярный способ создания таймера на Unity - это корутина (сопрограмма): https://docs.unity3d.com/Scrip... utine.html
Здесь несколько примеров с корутиной: https://docs.unity3d.com/Manual/Coroutines.html Пример из документации, который выводит на экран строку спустя 5 секунд:
0
|
08.01.2018, 13:08 | |
08.01.2018, 13:08 | |
Помогаю со студенческими работами здесь
14
Использование таймера Использование таймера Использование таймера в службе Использование таймера в часах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |