AS3中 hitTestObject () hitTestPoint () 方法

hitTestObject () 方法   

public function hitTestObject(obj:DisplayObject):Boolean

语言版本 :  ActionScript 3.0
Player 版本 :  Flash Player 9


计算显示对象,以确定它是否与 obj 显示对象重叠或相交。

参数  obj:DisplayObject — 要测试的显示对象。

返回  Boolean — 如果显示对象相交,则为 true;否则为 false。  

以下代码创建三个 Shape 对象,并显示调用 hitTestObject() 方法的结果:
import flash.display.Shape;

var circle1:Shape = new Shape();
circle1.graphics.beginFill(0x0000FF);
circle1.graphics.drawCircle(40, 40, 40);
addChild(circle1);

var circle2:Shape = new Shape();
circle2.graphics.beginFill(0x00FF00);
circle2.graphics.drawCircle(40, 40, 40);
circle2.x = 50;
addChild(circle2);

var circle3:Shape = new Shape();
circle3.graphics.beginFill(0xFF0000);
circle3.graphics.drawCircle(40, 40, 40);
circle3.x = 100;
circle3.y = 67;
addChild(circle3);

trace(circle1.hitTestObject(circle2)); // true
trace(circle1.hitTestObject(circle3)); // true
trace(circle2.hitTestObject(circle3)); // true

 

 

在DisplayObject类里有hitTestObject()方法和hitTestPoint () 方法 。
hitTestObject()方法是计算显示对象,以确定它是否与 obj 显示对象重叠或相交,它里面就一个参数(要测试的显示对象)。
hitTestPoint方法是计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交, x 和 y 参数指定舞台的坐标空间中的点,而不是包含显示对象的显示对象容器中的点(除非显示对象容器是舞台), 它里面有3个参数(要测试的此对象的 x 坐标,要测试的此对象的 y坐标,以及一个布尔值,true为要测试对象的实际像素,false为要测试边框的实际像素)

posted @ 2010-05-26 11:43  rob_2010  阅读(2231)  评论(0编辑  收藏  举报