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)); // 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