Просмотр
Материал из DoomDev
Страница «
Delay
»
Перейти к:
навигация
,
поиск
'''void Delay(int тики)''' {|style="background:#efefef;" |'''тики''' |интервал времени |} Текущий скрипт приостанавливается, пока не пройдет указанный интервал времени. Тик – один цикл 35-герцового таймера, то есть одна секунда - 35 тиков. '''Пример:''' Delay употребляется очень часто. Одно из применений - исправление ошибки 'Runaway script x terminated'. Скрипт завершается, если он застревает в бесконечном цикле (фактически, на 500000-й итерации). Например: script 1 ENTER { int health; while (TRUE) { health = [[GetActorProperty]](0, APROP_HEALTH); [[Print]](s:"You have ", d:health, s:" health!"); } } Этот скрипт вызовет ошибку и будет завершен, так как он пытается сообщать игроку здоровье не приостанавливаясь. Добавление небольшой задержки приведет к желаемому эффекту - постоянному сообщению игроку его здоровья. script 1 ENTER { int health; while (TRUE) { health = [[GetActorProperty]](0, APROP_HEALTH); [[Print]](s:"You have ", d:health, s:" health!"); Delay(1); // Wait for next frame } } ---- Другое очевидное применение - простая задержка. Например, поведение двери, используемой в ловушке у первого ключа на E1M6 может быть сэмитировано таким скриптом: script 12 (int sector, int speed, int seconds) { [[Door_Open]](sector, speed); Delay(35*seconds); [[Door_Close]](sector, speed); } Но это поведение может быть достигнуто и спецификатором [[Door_CloseWaitOpen]]. {{Zdoomwikibased}} [[category:Функции ожидания]]
Шаблон:Zdoomwikibased
Возврат к странице
Delay
.
Просмотры
Статья
Обсуждение
Просмотр
История
Личные инструменты
Представиться системе
Навигация
Заглавная страница
Сообщество
Текущие события
Свежие правки
Случайная статья
Справка
Поиск
Инструменты
Ссылки сюда
Связанные правки
Загрузить файл
Спецстраницы