<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600"
creationComplete="application1_initializeHandler(event)">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
var circle:Sprite = new Sprite();
var square:Sprite = new Sprite();
function clicked(event:MouseEvent):void{
trace((event.target == circle) ? "circle clicked":"circle unclicked")//circle unclicked square clicked
trace((event.target == square) ? "square clicked":"square unclicked")//circle clicked square unclicked
}
protected function application1_initializeHandler(event:FlexEvent):void
{
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(100,100, 40);
square.graphics.beginFill(0xCCFF00);
square.graphics.drawRect(200, 0, 100, 100);
circle.hitArea = square;//这句表明圆形的感应区是方块
square.hitArea = circle;//这句表明方块的感应区是圆形
sd.addEventListener(MouseEvent.CLICK, clicked);
sd.addChild(circle);
sd.addChild(square);
}
]]>
</mx:Script>
<mx:Image x="97" y="128" width="411" height="429" id="sd"/>
</mx:Application>
这个hitarea必须参与的两者相设置hitarea,比如相互设置为hitarea,不然你注掉一句添加hitarea的话会出问题(不知是不是我理解错误,希望指正)