AS2 HitTest проблема

У меня есть настройка hitTest, чтобы увидеть, попадет ли mc1 в mc2. Пока mc1 касается mc2, мне нужно, чтобы mc1 играл в цикле. mc1 ой после прикосновения к mc2, но не когда он касается mc2. Пока он касается mc2, он переходит к кадру 2 и останавливается. Почему это происходит?

1 ответ

Решение

Проблема, которую я чувствую в вашем коде, заключается в том, что вы должны использовать метод onEnterFrame, чтобы проверить, касается ли mc1 mc2. И когда hitTest возвращает true, вы должны использовать:

mc1.gotoAndPlay(2);

Проблема здесь заключается в том, что к тому времени, когда оба MC сталкиваются друг с другом, метод onEnterFrame заставляет 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();
}
};

Надеюсь это поможет.

Другие вопросы по тегам