играет только один ключевой кадр - PullRequest
0 голосов
/ 16 января 2010

Надеюсь, я объясню это хорошо. Но в моей игре у меня есть 3 ключевых кадра для моего мувиклипа. 1, чтобы отобразить его нормальное состояние. 2, чтобы показать его взорван, и 3, чтобы удалить его со сцены. Всего 3 кадра. Когда пуля попадает в объект, я иду и играю 2-й кадр. затем, когда кадр 3 попадает, я удаляю его. Вот мой код

private function blowUp():void
        {
            if(dead)
            {
                gotoAndPlay(2);
                if(currentFrame == 3)
                {
                    garbage = true;
                }
            }
        }

Моя проблема в том, что он переходит во второй кадр, но никогда не достигает третьего кадра. поэтому кадр 3 не может собрать мусор пули. Если я использую Play () вместо этого, тогда он работает, но gotoAndPlay не

Я даже пытался удалить ключевой кадр из кадра 3 (это все еще кадр). (Надеюсь, что это сыграет), но это не так. Я знаю, что моя проблема глупа, так что если кто-то может помочь, это было бы здорово. спасибо

Ответы [ 3 ]

2 голосов
/ 16 января 2010

Вы уверены, что не вызываете blowUp каждый кадр, и поэтому вы все время сбрасываете на кадр 2?

Если дело обстоит так, возможно, попробуйте поставить булеву охрану:

    private var doingBlowUp : Boolean = false;

    private function blowUp() : void
    {
        if (dead) {
            if (doingBlowUp)
            {
                if (currentFrame == 3)
                {
                    garbage = true;
                    doingBlowUp = false;
                }

            } else {
                doingBlowUp = true;
                gotoAndPlay(2);
            }
        }

    }
0 голосов
/ 16 января 2010

Не упустите ошибку во Flash Player 9, где gotoAndPlay (x) будет дважды воспроизводить кадр "x".

0 голосов
/ 16 января 2010

Вы должны добавить обработчик события ввода фрейма.Попробуйте отследить currentFrame там, где вы делаете логику, чтобы увидеть, равен ли он == 3. Я предполагаю, что это будет значение два.Другой вариант - вызвать функцию из кадра 3 для соответствующей очистки.

...