AS3中 hitTestObject () hitTestPoint () 方法
hitTestObject () 方法
public function hitTestObject(obj:DisplayObject):Boolean
语言版本 :
Player 版本 :
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。
参数
返回
以下代码创建三个 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为要测试边框的实际像素)