0

mc1 が mc2 にヒットするかどうかを確認するための hitTest セットアップがあります。mc1 が mc2 に触れている間、ループで再生するには mc1 が必要です。mc1 は mc2 に触れた後におっとなりますが、mc2 に触れている間はそうではありません。mc2 に触れている間、フレーム 2 に移動して停止します。なぜこうなった?

4

1 に答える 1

1

私があなたのコードで嗅いでいる問題は、mc1 が mc2 に触れているかどうかを確認するために onEnterFrame メソッドを使用しなければならないということです。また、hitTest が true を返す場合は、以下を使用している必要があります。

mc1.gotoAndPlay(2);

ここでの問題は、両方の MC が互いにヒットするまでに、onEnterFrame メソッドが mc1 にフレーム番号 2 から 1 秒間に 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();
}
};

お役に立てれば。

于 2013-10-31T11:25:17.737 に答える