Суббота, 28 Декабря 2024, 11:47

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Ждать N-количество времени в Step
GrabatroneДата: Суббота, 18 Февраля 2017, 15:25 | Сообщение # 1
был не раз
Сейчас нет на сайте
Всем доброго времени суток, Друзья!
Интересует вот какой вопрос: имеется ли какой то аналог стандартного Alarm?
В step хотелось бы пользоваться чем-то вроде "Ждать 15 секунд, затем..."


Что-бы код тормозился и выполнялся далее спустя определенное количество "тиков".

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


Сообщение отредактировал Grabatrone - Суббота, 18 Февраля 2017, 15:40
AlexanderBekkerДата: Суббота, 18 Февраля 2017, 15:40 | Сообщение # 2
BekkerDev Studio
Сейчас нет на сайте
В Create:
Код
timer = 15;

В Step:
Код
if (timer != -1 && --timer < 1) {
   health--;
   timer = -1;
}


Разработчик, композитор и издатель инди-игр в Steam.
Редактор карт: BekkerDev Level Editor 4
Страница разработчика в Steam
Паблик ВК: BekkerDev Studio


Сообщение отредактировал AlexanderBekker - Суббота, 18 Февраля 2017, 15:41
ReanДата: Суббота, 18 Февраля 2017, 15:48 | Сообщение # 3
участник
Сейчас нет на сайте
Grabatrone, обрати внимание на инструмент timeline. Еще один вариант - собственный таймер, как тот, что описал AlexanderBekker, только, подозреваю, при инициализации таймера следует указать не 0, а что-то вроде:
Код

delay = 3; // задержка 3 секунды
timer = room_speed * delay;
GrabatroneДата: Суббота, 18 Февраля 2017, 15:55 | Сообщение # 4
был не раз
Сейчас нет на сайте
Цитата
Grabatrone, обрати внимание на инструмент timeline.
Спасибо, но это немного не то =) Я ищу простой способ паузы в коде. "Жди - затем делай"

AlexanderBekker, а как потом вызывать таймер, скажем на 22 секунды в step коде?

А возможен такой вариант?

Создать скрипт с Delay и в step коде обращаться к нему.

Грубый пример:



Сообщение отредактировал Grabatrone - Суббота, 18 Февраля 2017, 16:01
AlexanderBekkerДата: Суббота, 18 Февраля 2017, 16:18 | Сообщение # 5
BekkerDev Studio
Сейчас нет на сайте
Цитата Grabatrone ()
а как потом вызывать таймер, скажем на 22 секунды в step коде?

Код
if (timer == -1) timer = room_speed * 22;

Проверка if (timer == -1) нужна для того, чтобы таймер в любых условиях запускался только один раз — если он истёк.


Разработчик, композитор и издатель инди-игр в Steam.
Редактор карт: BekkerDev Level Editor 4
Страница разработчика в Steam
Паблик ВК: BekkerDev Studio
GrabatroneДата: Суббота, 18 Февраля 2017, 16:34 | Сообщение # 6
был не раз
Сейчас нет на сайте
AlexanderBekker, Rean,

Большое спасибо! Все доходчиво обьяснили!
Держите вот +сики и этого гоблина!


Сообщение отредактировал Grabatrone - Суббота, 18 Февраля 2017, 16:47
ReanДата: Суббота, 18 Февраля 2017, 16:53 | Сообщение # 7
участник
Сейчас нет на сайте
Цитата AlexanderBekker ()
if (timer != -1 && --timer < 1)

Немного поправлю:
Код
if (timer != -1 && timer-- < 1)

Несмотря на возможность короткой схемы, префиксный декремент будет выполнятся раньше, чем проверка условия, а следовательно выполнение таймера не будет остановлено.
GrabatroneДата: Суббота, 18 Февраля 2017, 17:00 | Сообщение # 8
был не раз
Сейчас нет на сайте
Спасибо еще раз! Держи, вот, второго гоблина
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг