FLASH中的hittest我怎么用不对,看看下面这段代码吧。

来源:百度知道 编辑:UC知道 时间:2024/05/15 06:57:31
onClipEvent (enterFrame) {
_x = _x+10;
if (this.hitTest(_root.h2)) {
_root.h2._y = _root.h2._y-100;
}
}

flash中的碰撞函数hitTest()的使用方法

新建两个影片剪辑a和b;
实例名为aa和bb
建立一个动态文本 变量为x;
在影片剪辑代码为
onClipEvent(onEnterFrame){
if(aa.hitTast(bb)==1){
x="@aa和bb发生碰撞@";
}
}

当aa和bb发生碰撞是动态文本x就会显示"@aa和bb发生碰撞@"
当然aa和bb发生碰撞可以调用其他事件的发生

如aa和bb发生碰撞是影片剪辑bird运动等等;

你好像少了一个参数:

shapeFlag: Boolean 一个布尔值,指定是计算指定实例的整个形状 (true) 还是仅计算边框 (false)。只有当用 x 和 y 坐标参数标识点击区域时,才可以指定该参数。target: Object 可能与影片剪辑相交或重叠的点击区域的目标路径。target 参数通常表示一个按钮或一个文本输入字段。

onClipEvent (enterFrame) {
_x = _x+10;
if (this.hitTest(_root.h2,true)) { //试试??
_root.h2._y = _root.h2._y-100;
}
}

然后你的描述也不太清楚,请具体说明是怎么不行?无沅检测到撞击吗?

你试一下减少MC的移动速度:_x = _x+10;

因为如果你是检测某一点与一个MC的撞击的吗?当该移动速度过快时很容易就直接跳过该点。