AS2 HitTest问题

时间:2013-10-29 13:59:09

标签: testing actionscript-2 hit

我有一个hitTest设置,看看mc1是否命中mc2。当mc1触摸mc2时,我需要mc1来循环播放。 mc1在触摸mc2后哎呀,但在触摸mc2时没有。当它触摸mc2时,它会进入第2帧并停止。为什么会这样?

1 个答案:

答案 0 :(得分:0)

我在你的代码中出现的问题是你必须使用onEnterFrame方法来检查mc1是否正在触摸mc2。当hitTest返回true时,你必须使用:

mc1.gotoAndPlay(2);

这里的问题是,当两个MC相互击打时,在INTERFrame方法上迫使mc1每秒从第2帧开始播放24次(取决于你使用的帧速率)。而且仅仅因为转换太快,它似乎停留在第2帧。

我的建议是有一个变量来记录那些MC的命中。然后请求mc1去玩。以下是您可以参考的示例代码。

mc1.stop();
mc1.onPress = function() {
    startDrag(mc1);
};
mc1.onRelease = function() {
    stopDrag();
};
var touched = 0;
onEnterFrame = function () {
if (mc1.hitTest(mc2)) {
    trace("you hit the circle");
    mc1.play();
} else {
    touched = 0;
}
if (touched == 1) {
    mc1.play();
}else {
    mc1.stop();
}
};

希望这有帮助。

相关问题