计算显示对象,以确定它是否与 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)); // false trace(circle2.hitTestObject(circle3)); // true 碰撞检测两个影片 使用 hitTestObject 判断两个影片是否碰撞也许是最简单的碰撞检测方法。调用这个函数作为影片的方法,将另一个影片的引用作为参数传入。注意,虽然我说的是影片,但这两种方法都是 DisplayObject 类的成员,对于所有继承自显示对象类的子类,如 MovieClip, Bitmap, Video, TextField 等都可以使用。格式如下: sprite1.hitTestObject(sprite2) 通常于在 if 语句中使用: if(sprite1.hitTestObject(sprite2)) { // 碰撞后的动作 } 更多详情请点击 http://blog.sina.com.cn/zhaojianjunzjj