Доступные события
На настоящий момент доступны в объектах Gm2Flex доступны следующие события:
1. Жизненный цикл объекта
1.1. create
Вызывается после создания объекта, возможно, до подгрузки спрайта.
public function create():void { self.vspeed = -10; self.hspeed = -1; }
1.2. step
Вызывается на каждом шаге игры.
public function step():void { speedProcessed = false; }
1.3. destroy
Вызывается после уничтожения объекта (на сцене сей объект больше не присутствует).
public function destroy():void { if(global.getNumberOfInstances("Ball")==0) { global.roomRestartCurrent(); } }
2. Полезные события
2.1. outsideRoom
Вызывается, когда объект покинул пределы уровня.
public function outsideRoom():void { self.destroy(); }
3. Коллизии
3.1. collision<X>
Вызывается во время столкновения с другим объектом вида <X>.
public function collisionPlatform(other:GLogicObject):void { var centerX: Number = self.x + self.width / 2; var centerY: Number = self.y + self.height / 2; self.vspeed = - Math.abs(self.vspeed); self.hspeed = maxHSpeed * (centerX - (other.x)) / (other.width / 2); }
4. Клавиатура
4.1. keyDown
Вызывается, когда keyboardHooker (глобальный параметр, означает объект, отслеживающий клавиатурные события) зафиксировал нажатие клавиши.
public function keyDown(event:KeyboardEvent):void { if(event.keyCode == Keyboard.LEFT) { self.hspeed = -11; } if(event.keyCode == Keyboard.RIGHT) { self.hspeed = 11; } }
4.2. keyUp
Вызывается, когда keyboardHooker (глобальный параметр, означает объект, отслеживающий клавиатурные события) зафиксировал отпускание клавиши.
public function keyUp(event:KeyboardEvent):void { if(event.keyCode == Keyboard.LEFT) { self.hspeed = 0; } if(event.keyCode == Keyboard.RIGHT) { self.hspeed = 0; } }
5. Таймеры
Лучше всего демонстрирует использование таймеров пример:
public function collisionPrize(other:GLogicObject):void { other.destroy(); self.sprite = "SuperHero"; global.timerSet("SuperEnd", 20000); // на 20 секунд } public function timerSuperEnd():void { self.sprite = "NormalHero"; }