【9RIA—沐枫】—【基础小知识】第27节(事件流机制)
转载:9RIA游戏开发者社区(天地会)作者:沐枫(原天地会大神)
【基础小知识】系列教程(总目录)——沐枫大神出品
源码
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import others.Rect;
public class Main extends Sprite//显示对象容器Main
{
public function Main()
{
var rect:Rect=new Rect(100,100);
rect.x=200;
rect.y=100;
addChild(rect);//添加到显示对象容器
// rect.addEventListener(MouseEvent.CLICK,onClickHandler,true);//true表示在捕获阶段响应
// this.addEventListener(MouseEvent.CLICK,onClickHandler,true);
// stage.addEventListener(MouseEvent.CLICK,onClickHandler,true);
rect.addEventListener(MouseEvent.CLICK,onClickHandler);//去掉true,不进行捕获,直接进行冒泡
addEventListener(MouseEvent.CLICK,onClickHandler);
stage.addEventListener(MouseEvent.CLICK,onClickHandler);
}
protected function onClickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
// ——————捕获阶段,是从最外层向最内层渗透————————
// trace("捕获到"+event.currentTarget);//当前响应目标
// trace("______________如果捕获到目标,则停止响应,进入目标阶段________________");
// ——————冒泡阶段,是从最里层向最外层溢出——————
trace("冒泡:"+event.currentTarget);//注,如果在显示对象容器Main上进行点击,若容器上没有可视化对象时,则会点穿这个容器直接点击到舞台stage上;
}
}
}
package others
{
import flash.display.Shape;
import flash.display.Sprite;
public class Rect extends Sprite
{
public function Rect(w:Number,h:Number)
{
var sp:Shape=new Shape();
addChild(sp);
sp.graphics.beginFill(0xff0000,1);
sp.graphics.drawRect(0,0,w,h);
sp.graphics.endFill();
}
}
}
下载:
页:
[1]