Помимо системы взаимодействия с динамическими объектами в DizzySE реализована, так называемая, система событий. По своей сути она похожа на на систему событий в любом языке программирования (в том числе и в скриптах DizzyAge), но используется немного по другому.

В движке предусмотрен ряд системных переменных, которые отвечают за обработку того или иного события. Для прикрепления к какому-либо событию скрипта нужно в соответствующую переменную записать номер нужного скрипта при помощи функции GameSet.

Если же в эту переменную записать 0, то связанное с ней событие обрабатываться не будет.

При срабатывании любого события, а так же при других вызовах скриптов в переменную ACT заносятся определенные значения, по которым можно определить как именно был вызван скрипт. Подробнее о переменной ACT можно прочитать тут Значения переменной ACT


Список переменных:

Название переменной

Описание


EVT_ROOM_EXIT


Происходит непосредственно перед выходом Диззи из комнаты. В тот момент, когда коллизии с краем экрана уже сработали, но новая комната еще не загружена.



EVT_ROOM_ENTER


Происходит сразу после появления Диззи в новой комнате.



EVT_ENTER_DEATH


Происходит после смерти Диззи. Но до того, как начнется анимация смерти и заиграет проигрыш мелодии.



EVT_DROP_ITEM


Происходит после выкладывания из инвентаря какого-либо предмета на землю. Не срабатывает, когда Диззи пытается применить этот предмет на какой-либо динамический объект. При вызове скрипта, в переменной RET будет находиться ссылка на выброшенный предмет.



EVT_ENTER_JUMP


Происходит при начале прыжка. После начала анимации, определения направления прыжка и инициализации всех переменных.



EVT_ENTER_WALK


Происходит в тот момент, когда Диззи начинает идти в сторону. После начала анимации, определения направления и инициализации всех переменных.



EVT_ENTER_IDLE


Происходит в момент остановки Диззи. Так же после всего.



EVT_PICK_UP_COIN


Происходит после подбора Диззи монетки.



EVT_PICK_UP_LIFE


Происходит после подбора Диззи дополнительной жизни.



EVT_PICK_UP_ITEM


Происходит после подбора Диззи переносимого предмета с земли. Если вручить Диззи предмет при помощи скрипта, срабатывать не будет. При вызове скрипта, в переменной RET будет находиться ссылка на подобранный предмет.



EVT_END_FALL


Происходит после окончания падения т.е. после завершения анимации качения. Будет срабатывать только если Диззи предварительно прыгнул. Если Диззи просто сошел с какой-то возвышенности, срабатывать не будет.



EVT_MIDDLE_AIR


Происходит во время прыжка. В тот момент, когда меняется вертикальный вектор направления движения Диззи.


EVT_ANIMATION_END


Необычное событие. Это единственное событие, которое срабатывает не в связи с действиями игрока. Так же это событие требует ID динамического объекта в переменной EVT_ANIMATION_END, а не номер скрипта.

Это событие происходит, когда у динамического объекта с указанным ID завершается анимация т.е. O_FRAME становится равным O_TARGET.

Если на одном экране указанный ID имеют несколько подходящих объектов, то событие будет происходить в нужный момент для каждого из них.

С помощью этого события можно реализовывать таймеры или каких-либо противников, которые должны двигаться особым образом.


Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease