Просмотр полной версии : Продолжительность анимации флеш ролика
macht_frei
06.12.2012, 20:59
Есть простой анимированный баннер для Google AdWords (AS2).
По условиям технических требований, воспроизведение анимации может происходить до 30 секунд. В моем случае это 6 циклов. После чего, баннер должен оставаться статичным.
Вопрос: как можно остановить воспроизведение после указанного количества циклов на последнем кадре анимации?
Помогите разобраться, пожалуйста.
inozemcev
06.12.2012, 21:36
Как я понял у тебя есть анимация на 5 секунд, ее нужно повторить 6 раз правильно? В этом случае заведи переменную, каждый раз когда ролик прокрутится увеличивай значение переменной и сверяй с допустимым значением, условно если значение переменной будет больше 6 останавливай воспроизведение методом gotoandstop
Код в первом кадре, инициализируем переменную-счётчик: numb = 0;
Во втором кадре: numb++;
В последнем кадре:
if (numb < 7){
gotoAndPlay(2);
}else{
stop();
}
Кажется так, давно правда в AS2 не писал.
Извините что не оформил как код, делов-то.
macht_frei
07.12.2012, 12:46
благодарю всех за помощь! все работает
Добавлено через 52 минуты
Еще небольшой вопрос: как сделать так чтобы анимация не останавливалась на последнем кадре (то есть на пустоте), а после всего цикла проходила еще кадров 20 и уже тогда останавливалась?
благодарю всех за помощь! все работает
Добавлено через 52 минуты
Еще небольшой вопрос: как сделать так чтобы анимация не останавливалась на последнем кадре (то есть на пустоте), а после всего цикла проходила еще кадров 20 и уже тогда останавливалась?
То есть, вы хотите осуществить повтор? :Анимация дошла до 30 кадра, потом начала заново? Или начала воспроизведение от 10 (30 - 20) кадра?
macht_frei
10.12.2012, 12:27
Не совсем. Мне нужно осуществить 6 циклов воспроизведения анимации, но при этом не грубо остановить ее потом на последнем кадре, а дать ей возможность еще раз прокрутить 19 первых кадров и на 20м остановиться, чтобы на экране замерла всплывшая там картинка
Баннер на АС2, а в теме на АС3. Ну да ладно. Вот на АС2:
var counter = 0;
onEnterFrame = function() {
if(currentFrame == 20) {
if(counter < 5) {
counter ++;
} else {
gotoAndStop(20);
delete this.onEnterFrame;
}
}
}
macht_frei
10.12.2012, 14:11
Баннер на АС2, а в теме на АС3. Ну да ладно. Вот на АС2:
var counter = 0;
onEnterFrame = function() {
if(currentFrame == 20) {
if(counter < 5) {
counter ++;
} else {
gotoAndStop(20);
delete this.onEnterFrame;
}
}
}
Выдает такую ошибку
http://4.firepic.org/4/images/2012-12/10/qi7svwzrcvgo.jpg
и пишет в дебаге:
Please use onSelfEvent(enterFrame) instead of the deprecated onEnterFrame in script:
Scene_1, line 7: onEnterFrame = function() {
Expecting an expression but found "=" in script:
, line 1: var counter : `type` = 0
Вы еще и на символе пишите:
onClipEvent(enterFrame) {
......
}
и убирайте delete this.onEnterFrame.
Да балин, восьмой раз редактирую.
Походу еще и var counter не получится сделать.
Это вроде как надо впихнуть тоже в функцию:
onClipEvent(load) {
counter = 0;
}
Не помню короче as 2.0
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.