//转载请注意
版权声明
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);
最后附上源文件下载
该文件只允许会员下载
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);
最后附上源文件下载
该文件只允许会员下载