События
Помимо системы взаимодействия с динамическими объектами в 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