hitArea:指定接受鼠标事件的区域,这个区域,可以是他的子级(貌似也只能是他子集)。这个玩意儿,用的地方其实很多,不过很多人都没有去注意他的存在。具体呢,本人表达比较菜,你把下面的代码拷贝到Flash里面去运行,看看效果就知道了。
import flash.display.Sprite;
import flash.events.MouseEvent;
var sp:Sprite = new Sprite();
sp.graphics.beginFill(0xff00cc);
sp.graphics.drawEllipse(0 , 0,100 ,50);
sp.graphics.endFill();
addChild(sp);
sp.x = sp.y = 100;
sp.addEventListener(MouseEvent.CLICK ,aaa);
var sp2:Sprite = new Sprite();
sp2.graphics.beginFill(0x00ffff);
sp2.graphics.drawEllipse(0 , 0,30 ,30);
sp2.graphics.endFill();
sp2.x = sp2.y = 30;
sp.addChild(sp2);
sp.hitArea = sp2;
function aaa(e:MouseEvent):void{
trace("------!");
}
import flash.display.Sprite;
import flash.events.MouseEvent;
var sp:Sprite = new Sprite();
sp.graphics.beginFill(0xff00cc);
sp.graphics.drawEllipse(0 , 0,100 ,50);
sp.graphics.endFill();
addChild(sp);
sp.x = sp.y = 100;
sp.addEventListener(MouseEvent.CLICK ,aaa);
var sp2:Sprite = new Sprite();
sp2.graphics.beginFill(0x00ffff);
sp2.graphics.drawEllipse(0 , 0,30 ,30);
sp2.graphics.endFill();
sp2.x = sp2.y = 30;
sp.addChild(sp2);
sp.hitArea = sp2;
function aaa(e:MouseEvent):void{
trace("------!");
}