Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Продолжительность анимации флеш ролика (http://www.flasher.ru/forum/showthread.php?t=188804)

macht_frei 06.12.2012 20:59

Продолжительность анимации флеш ролика
 
Есть простой анимированный баннер для Google AdWords (AS2).
По условиям технических требований, воспроизведение анимации может происходить до 30 секунд. В моем случае это 6 циклов. После чего, баннер должен оставаться статичным.
Вопрос: как можно остановить воспроизведение после указанного количества циклов на последнем кадре анимации?
Помогите разобраться, пожалуйста.

inozemcev 06.12.2012 21:36

Как я понял у тебя есть анимация на 5 секунд, ее нужно повторить 6 раз правильно? В этом случае заведи переменную, каждый раз когда ролик прокрутится увеличивай значение переменной и сверяй с допустимым значением, условно если значение переменной будет больше 6 останавливай воспроизведение методом gotoandstop

Chum 07.12.2012 02:02

Код в первом кадре, инициализируем переменную-счётчик: numb = 0;
Во втором кадре: numb++;
В последнем кадре:
Код AS3:

if (numb < 7){
    gotoAndPlay(2);
}else{
    stop();
}

Кажется так, давно правда в AS2 не писал.
Извините что не оформил как код, делов-то.

macht_frei 07.12.2012 12:46

благодарю всех за помощь! все работает

Добавлено через 52 минуты
Еще небольшой вопрос: как сделать так чтобы анимация не останавливалась на последнем кадре (то есть на пустоте), а после всего цикла проходила еще кадров 20 и уже тогда останавливалась?

Dip52 09.12.2012 00:44

Цитата:

Сообщение от macht_frei (Сообщение 1108344)
благодарю всех за помощь! все работает

Добавлено через 52 минуты
Еще небольшой вопрос: как сделать так чтобы анимация не останавливалась на последнем кадре (то есть на пустоте), а после всего цикла проходила еще кадров 20 и уже тогда останавливалась?

То есть, вы хотите осуществить повтор? :Анимация дошла до 30 кадра, потом начала заново? Или начала воспроизведение от 10 (30 - 20) кадра?

macht_frei 10.12.2012 12:27

Не совсем. Мне нужно осуществить 6 циклов воспроизведения анимации, но при этом не грубо остановить ее потом на последнем кадре, а дать ей возможность еще раз прокрутить 19 первых кадров и на 20м остановиться, чтобы на экране замерла всплывшая там картинка

DaFive 10.12.2012 12:47

Баннер на АС2, а в теме на АС3. Ну да ладно. Вот на АС2:
Код AS3:

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

Цитата:

Сообщение от DaFive (Сообщение 1108876)
Баннер на АС2, а в теме на АС3. Ну да ладно. Вот на АС2:
Код AS3:

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-1...7svwzrcvgo.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

DaFive 10.12.2012 14:56

Вы еще и на символе пишите:
Код AS3:

onClipEvent(enterFrame) {
......
 
}

и убирайте delete this.onEnterFrame.

Да балин, восьмой раз редактирую.
Походу еще и var counter не получится сделать.

Это вроде как надо впихнуть тоже в функцию:
Код AS3:

onClipEvent(load) {
counter = 0;
}

Не помню короче as 2.0


Часовой пояс GMT +4, время: 13:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.