Проблема AS2 HitTest

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


person user2928560    schedule 29.10.2013    source источник
comment
Можете ли вы показать нам код? Чтобы помочь вам, нам нужно знать немного больше о том, откуда вы пришли.   -  person Enigmadan    schedule 30.10.2013


Ответы (1)


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

mc1.gotoAndPlay(2);

Проблема здесь в том, что к тому времени, когда оба MC сталкиваются друг с другом, метод onEnterFrame заставляет mc1 идти и воспроизводиться с кадра № 2 24 раза (в зависимости от частоты кадров, которую вы используете) в секунду. И только потому, что переход слишком быстрый, кажется, что он застревает на кадре № 2.

Мое предложение состояло бы в том, чтобы иметь переменную, которая регистрирует попадание этих МС. А затем попросите 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();
}
};

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

person Ankur    schedule 31.10.2013