Просмотр полной версии : Не работает конструкция mc.gotoAndPlay() на главном тамлайне :(
drobinkin
22.02.2008, 01:52
На сцене в главном таймлайне, начиная с определенного фрейма лежит клип с именем cc1. Клип положен вручную, а не погружен программно.
В этом фрейме пишу
cc1.gotoAndPlay('start');
stop();
Однако че-то не работает :( В смысле, клип сс1 не проигрывается. Ни со стопом, ни без.
Подскажите, пожалуйста, где я туплю, ибо вопрос по идее банальнейший, однако ступор у меня какой-то.
Либо не видит мувик cc1, либо лэйбл 'start'.
drobinkin
22.02.2008, 05:27
Либо не видит мувик cc1, либо лэйбл 'start'.
дык пробовал и так
cc1.gotoAndPlay(2)
тоже не идет. На втором кадре и стоит метка 'start'
А сам мувик пробовал менять тип на graphics - тада играет
Есть еще мысли?
drobinkin
22.02.2008, 05:52
я там походу еще один оператор добавил - onEnterFrame - уже вроде сдвинулось, но все равно еще не то
Когда надоест теряться в догадках, выкладывайте исходник.
drobinkin
22.02.2008, 06:48
так уже давно :) выложил
Ага. Причина была в stop() в первом кадре cc1.
Флеш выполняет код последовательно от предка к потоммкам, это значит, что cc1.gotoAndPlay выполнится раньше, чем stop внутри cc1. В итоге последовательность действий внутри cc1 такая:
1A. Перейти на кадр 'start'
1Б. Начать анимацию
2. Остановить анимацию
drobinkin
22.02.2008, 07:09
Ну по идее мне так и надо.
Вот только сс1 зацикливается почему-то. А должен один раз проиграться, да и то до половины.
Ну по идее мне так и надо.
Не надо :) Это все происходит в течении одного кадра.
А не "начать анимацию" - 1 кадр - 2 кадр -... - "остановить анимацию". Если надо просто перейти на какойто кадр без воспроизведения, есть gotoAndStop.
А в текущей реализации, у вас 30 раз в секнду вызывается cc1.gotoAndPlay('start');
drobinkin
22.02.2008, 07:31
Фух, че-то вообще крыша едет уже :)
Как же мне сделать, чтобы в основном таймлайние при достижении кадра с сс1 последний проигрался до своей середины и остановился (перед свой меткой "финиш")?
Убрать stop() из первого его кадра.
А в руте убрать onEnterFrame
drobinkin
22.02.2008, 07:47
Вот, блин
У меня есть еще несколько мувиков с такой же организацией. На них всех ссылаются кнопки навигации. Презентация вобщем. Отсюда и использование стопа в первом кадре. Просто надо чтобы при старте всей презентации после интро (первые 30 кадров на главном таймлайне) запустился один из этих мувиков, в частности сс1. Не хотелось просто делать два варианта одного и того же мувика - типа, один для начала презентации, а второй для использования в навигации.
upd
Хм, сделал так в основной презентации, т.е. убрал стоп только у сс1, ну и онЭнтерФрейм - вроде как работает пока. Вобщем, погонять надо все переходы.
Спасибо большое за участие и за помощь :)
А где же тут кнопка "спасибо" или плюсик?
Можно в руте указать ссылку на мувик
mcLink = cc1, который имеет право проигрывать сразу.
Тогда надо во всех мувиках наподии cc1 написать
if (this != _level0.mcLink) {
stop ();
} else {
gotoAndPlay ('start')
}
И из рута gotoAndPlay ('start') убрать.
"Плюс" у нас означает нарушение правил.
drobinkin
22.02.2008, 15:24
iNils, спасибо, обязательно попробую
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.