谈谈as3里hitArea

//转载请注意 版权声明

hitArea是Sprite类下的属性,它是针对鼠标事件涉及的,你可以把一个Sprite的hitArea设为另一个Sprite,当一个Sprite的hitArea属性的值不存在或为空是,这个Sprite的hitArea为它自己。

下面举个例子:
当鼠标点击方块,将trace出circle clicked square clicked即圆被点了,方块没被点。
当鼠标点击圆,将trace出circle clicked square clicked即圆被点了,方块没被点。



代码如下:
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(100,100, 40);

var square:Sprite = new Sprite();
square.graphics.beginFill(0xCCFF00);
square.graphics.drawRect(200, 0, 100, 100);

circle.hitArea = square;//这句表明圆形的感应区是方块
square.hitArea = circle;//这句表明方块的感应区是圆形

stage.addEventListener(MouseEvent.CLICK, clicked);

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
}

addChild(circle);
addChild(square);

最后附上源文件下载

只允许会员下载 该文件只允许会员下载 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值