Набросал небольшой модуль, с помощью которого можно ставить вызов отдельных локаций (или выполнение какого-либо кода) с нужным интервалом времени.
!Локация "Вызов1секунда" будет вызываться раз в секунду GS 'Таймер.Установить', 'Счетчик 1 секунда', '#Вызов1секунда', 1000 !---------- !Переданный код выполнится только один раз через 4 секунды после запуска таймера GS 'Таймер.Установить', 'Счетчик 4 секунды', {*NL 'вызов разовой процедуры'}, 4000, 1 !---------- GS 'Таймер.Запустить'
Таймер можно как останавливать, так и запускать заново (относится ко всем процедурам).
Выполнение запущенных в таймере процедур можно останавливать и запускать заново по отдельности.
Завтра допишу описание и выложу сам модуль.
Неактивен
Eten написал:
Что-то я в первый раз слышу о таймере в QSP! Он там, что разве есть?! Или ты его сам сделал?
А ты поищи в документации по словам: $COUNTER и SETTIMER.
Неактивен
Демка использования модуля таймера.
Щёлкаете на появляющихся зомби — получаете очки. Красный — 30, зелёный — 20, синий — 10.
И так — пока не стемнеет. Отсрочить конец можно, воспользовавшись фонариком, но спасения всё равно нет. Ну хоть очков заработать побольше!
В данном примере таймер используется для асинхронного затемнения различных областей экрана с сохранением функции управления игрой. Ну и для управления зомбЯми. А когда включаете фонарик — то батарейка расходуется тоже по таймеру…
Неактивен