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