Задержка события

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Задержка события

Сообщение Martinz 21 ноя 2012, 12:19

Всем привет, скажите пожалуйста, как в Юнити делать нормальную задержку?
Например я хочу, чтобы сообщение "Уровень пройден" появлялось через 1 сек. после фактического прохождения уровня.
Или нажал я на объект, а его анимация начинает проигрываться через 0.2 сек.
Я изголялся с Time.time, делал отдельную проверку условия, но, во-первых ничего не получилось, а во-вторых я уверен, что есть нормальный способ ставить задержку, как например у функции Destroy.
Спасибо.
Martinz
UNец
 
Сообщения: 6
Зарегистрирован: 10 ноя 2012, 13:39

Re: Задержка события

Сообщение Kann 21 ноя 2012, 12:38

invoke
Kann
Старожил
 
Сообщения: 553
Зарегистрирован: 05 ноя 2009, 14:06

Re: Задержка события

Сообщение Kayler 21 ноя 2012, 13:13

Синтаксис:
Используется csharp
float timer;
bool vkl;
void Update ()
{
 if (vkl)
 {
  timer += Time.deltaTime;
  if (timer > 0.2)
  {
     MyVoid();
  }
 }
}
 


ну, максимально примитивно..
Аватара пользователя
Kayler
Адепт
 
Сообщения: 1038
Зарегистрирован: 25 авг 2010, 23:49
Откуда: Чувашия

Re: Задержка события

Сообщение KaMiKaZa 21 ноя 2012, 14:22

А чем плох WaitForSeconds?
Аватара пользователя
KaMiKaZa
UNIт
 
Сообщения: 75
Зарегистрирован: 29 окт 2012, 15:42
Откуда: ЯНАО, Надым

Re: Задержка события

Сообщение Martinz 21 ноя 2012, 14:28

О, спасибо всем, оказывается вариантов даже несколько!
Martinz
UNец
 
Сообщения: 6
Зарегистрирован: 10 ноя 2012, 13:39

Re: Задержка события

Сообщение Martinz 21 ноя 2012, 15:41

Мда, повозился с этими функциями и нифига не нравится.
Для WaitForSeconds нужно использовать yield для которого нужен итератор, я нифига не понял как его использовать в функции void.
А Invoke это получается для каждой нужной строки нужно отдельную функцию чтоли писать, чтобы было что подставить в Invoke...
Martinz
UNец
 
Сообщения: 6
Зарегистрирован: 10 ноя 2012, 13:39

Re: Задержка события

Сообщение Volandpro 21 ноя 2012, 15:47

Синтаксис:
Используется csharp
void ololo()
{
StartCoroutine(GetScores());
}
IEnumerator GetScores()
{
yield пиши что хочешь;
}
 


Может так? :-?
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 34