PDA

Просмотр полной версии : Ошибка gotoAndPlay() в первом кадре


Zhui
06.11.2008, 18:00
В приложенном исходнике ситуация следующая.

В первом кадре прописан код
var n:Number = 520;
_root.gotoAndPlay(n);

По идее при запуске ролика должен идти переход на 520 кадр, на деле же ролик перескакивает на 200-й кадр, а если быть точнее, то к начальному ключевому кадру твина в слое "clip3"(назовем этот кадр "f")
То есть если смещать этот f по таймлайну, то переход происходит именно на этот кадр, а не на 200-й.
Примечательно, что если n < f, то gotoAndPlay() работает нормально. Если n > f, то переход происходит на f.
Перемена мест слоёв и твинов с картинками дает тот же результат - переход происходит в область 3-го твина.

Когда ролик проходит круг, то код работает правильно.
Если gotoAndPlay() прописывать во втором кадре, всё работает правильно.

В чём может быть проблема? Почему "нельзя" писать код в первом кадре?
Есть идея, что дело в jpeg-ах, потому что с другими картинками воспроизвести данный глюк не получается.

Да, и
_root.gotoAndPlay(520);
точно также глючит, я просто ввёл переменную, чтоб проще объяснить.

Flash CS3, лицензионная.

P. S. Я полностью согласен, что способ создания требуемой анимации уродлив :) Просто ну уж очень интересно, в чём причины глюка.

Спасибо.

iNils
06.11.2008, 18:16
Локально или в сети?

Zhui
06.11.2008, 18:28
Не приходило в голову попробовать в сети, сейчас попробовал - там получается немного другое, но суть та же - переход идёт не туда, куда написано.

iNils
06.11.2008, 18:32
Перейти можно только на тот кадр, который загружен. А загрузка происходит не моментально. Мысль улавливаете?

Zhui
06.11.2008, 18:43
Да, спасибо.
То есть и локальная загрузка тоже происходит не моментально, так получается? (речь идёт про простейший ролик)

iNils
06.11.2008, 18:46
Поставьте в свой первый кадр
trace (_root._framesloaded + "/" + _root._totalframes);
и увидите сколько кадров уже доступно и сколько всего

Zhui
06.11.2008, 18:51
iNils
Спасибо большое :)