您的位置:首页 > 其它

Flash AS3 学习13 …

2017-06-08 11:32 429 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: