Доступные события
На настоящий момент доступны в объектах 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";
}
