Нужно ли мне самому останавливать другие анимации кадров?

#flash

#flash

Вопрос:

Это действительно вопрос об основах, но я хочу убедиться, как это работает. Итак, у меня есть символ MovieClip с 5 кадрами (назовем его основным MovieClip), каждый кадр содержит отдельный символ MovieClip, и каждый из этих символов имеет небольшое движение в них. Если, допустим, я перейду к 3-му кадру в главном видеоролике:

object.gotoAndStop(3);

Затем анимация небольшого движения символа, которая содержит кадр 3, автоматически запускается, как я видел. Итак, я думаю, здесь останавливаются ли другие кадры (1, 2, 4 и 5), которые, однако, не видны на сцене, и мне не нужно беспокоиться об остановке каждого из них самостоятельно (например, прикрепляя код к каждому 1-му кадру для вызова .stop() )?

Потому что, если бы я сейчас позвонил прямо сейчас, object.gotoAndStop(1); это сразу же запустило бы анимацию этого кадра. Просто заставляет меня задуматься.

Ответ №1:

Вам не нужно вручную останавливать видеоролики, они обычно разыменовываются (уничтожаются) по истечении срока действия их ключевых кадров. И создаются после ввода их ключевого кадра.

Повторюсь, они не СУЩЕСТВУЮТ до и после их ключевого кадра. Конечно, не совсем верно (сборка мусора), но для иллюстративных целей этого достаточно. Нет необходимости «останавливать» их временные рамки, поскольку они не существуют, и как только их ключевой кадр создаст их, они будут перезапущены с кадра 1 (без fancy actionscript, конечно).

Это справедливо только для видеороликов timeline, созданные actionscript видеоролики по-прежнему будут иметь ссылки и будут сохраняться при смене кадров, если мне не изменяет память.

Поэтому MC actionscript необходимо обработать вручную (вызвать removeChild() и разыменовать их ссылку, если таковая имеется).