Flash AS3 код видеоклипа не работает - PullRequest
0 голосов
/ 26 мая 2011

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

Я сделал MovieClip из электрического провода с 3 различными ключевыми кадрами с несколькими кадрами между ними. Первые два ключевых кадра имеют по одному растровому изображению в каждом с разным изображением, я хочу, чтобы оно циклически переключалось между этими двумя, чтобы казалось, что электричество движется, а не просто сидит там. На третьем ключевом кадре ничего нет, в конце концов я поставлю изображение с отключенным электричеством, чтобы игрок мог пройти, я просто еще этого не сделал. Так как я не хочу, чтобы он запускал последний ключевой кадр, пока проигрыватель не выключит его, я поставил gotoAndPlay (); Команда в мувиклипе после того, как второй кадр возвращается к первому кадру, проблема в том, что линия отказывается работать. Я скопировал и вставил его из других программ, где он работал, я проверил Имя кадра, я вставил туда другие строки, например stop (); проследить (); и другие вещи, но не удалось заставить ЛЮБУЮ строку кода работать в MovieClip. Там, вероятно, что-то вроде «слой невидим, код не будет работать», но я не могу сказать, что это такое. Я удалил символ и начал заново, та же проблема. Я перезапустил Flash, та же проблема. Я перезагрузил компьютер, та же проблема. Я даже взял его на другой компьютер, та же проблема. Я не знаю, почему он не запускает этот код, есть ли что-то отключающее его, что я пропустил? У меня есть другой код на основной временной шкале вне мувиклипа и код в других мувиклипах, который всегда работал нормально и продолжает работать нормально, я не вижу, в чем проблема.

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

Я бы опубликовал некоторый код, но на самом деле его нет, учитывая, что мне нужно работать только с одной или двумя строками, и я действительно могу скопировать и вставить MovieClip здесь.

Заранее спасибо за любую помощь.

1 Ответ

0 голосов
/ 26 мая 2011

Чрезвычайно странно, хотя вы могли бы использовать это как базовый класс для вашего MovieClip, который должен работать с удовольствием:

package
{
    import flash.display.MovieClip;
    import flash.events.Event;

    public class Elec extends MovieClip
    {
        // vars
        private var _prevFrame:uint = 1;

        /**
         * Constructor
         */
        public function Elec()
        {
            addEventListener(Event.ENTER_FRAME, _handle);
        }

        /**
         * Event.ENTER_FRAME
         */
        private function _handle(e:Event):void
        {
            if(_prevFrame == 2) gotoAndPlay(1);

            _prevFrame = currentFrame;
        }
    }
}
...