在DisplayObject类里有hitTestObject()方法和hitTestPoint () 方法 。
hitTestObject()方法是计算显示对象,以确定它是否与 obj 显示对象重叠或相交,它里面就一个参数(要测试的显示对象)。
例:
A.hitTextObject(B) = boolean;
如果A、B相交,boolean = true;否,则为false;
hitTestPoint方法是计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交, x 和 y 参数指定舞台的坐标空间中的点,而不是包含显示对象的显示对象容器中的点(除非显示对象容器是舞台), 它里面有3个参数(要测试的此对象的 x 坐标,要测试的此对象的 y坐标,以及一个布尔值,true为要测试对象的实际像素,false为要测试边框的实际像素)
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