В AS3 вводится новый подход для работы с событиями. "Поток событий" (event flow)
определен только для видимых объектов, находящихся в display list.
У потока выделяют три стадии. Данный код демонстрирует 3 стадию (bubbling)
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.display.StageScaleMode;
import flash.display.StageAlign;
public class Test extends Sprite {
private var _rectangle:Sprite;
private var _circle:Sprite;
public function Test() {
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
_rectangle = new Sprite();
_rectangle.graphics.lineStyle(0, 0, 0);
_rectangle.graphics.beginFill(0x0000FF, 1);
_rectangle.graphics.drawRect(0, 0, 100, 50);
_rectangle.graphics.endFill();
addChild(_rectangle);
_circle = new Sprite();
_circle.graphics.lineStyle(0, 0, 0);
_circle.graphics.beginFill(0x0000FF, 1);
_circle.graphics.drawCircle(0, 0, 50);
_circle.graphics.endFill();
_circle.x = 100;
_circle.y = 100;
addChild(_circle);
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(event:MouseEvent):void {
event.target.x = Math.random() * 400;
event.target.y = Math.random() * 400;
}
}
}
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий