Форум 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)
-   -   Сменяющиеся цифры в Dynamic Text с помощью AS 2 (http://www.flasher.ru/forum/showthread.php?t=171805)

вут0706 24.11.2011 17:46

Сменяющиеся цифры в Dynamic Text с помощью AS 2
 
Здравствуйте, можно ли в actionscript сделать такую вещь:

В первые 5 секунд ролика в dynamic text прогоняются цифры от 1 до 100
Следующие 5 секунд цифры от 100 до 1000 (т.е. цифры сменяются гораздо быстрее)
След 5 сек - еще одно ускорение - показываются цифры от 1000 до 10000. Т.е. что вроде ступенчатого спидометра.

Я когда-то работал с loader где в динамич. текстовом поле прогонялись цифры от 1 до 100% (ход загрузки через .getBytesLoaded), но так как в actionscript не очень силен, не могу понять как сделать прогон цифр в зав-ти от кол-ва прошедщих миллисекунд, а не от хода загрузки.

Спасибо, если поможете.

stantler 25.11.2011 06:57

Посмотрите в сторону setInterval() и clearInterval()

Код AS1/AS2:

var current_number:Number = 0;
var intervalID:Number;
function NumbersBegin()
{
  intervalID = setInterval(NumbersInterval,5000/100);
}
function NumbersInterval()
{
  myTextField.text = current_number;
  if (current_number > 100 && current_number < 1000)
  {
      clearInterval(intervalID);
      intervalID = setInterval(NumbersInterval,5000/900);
  }
  else if (current_number > 1000 && current_number < 10000)
  {
      clearInterval(intervalID);
      intervalID = setInterval(NumbersInterval,5000/9000);
  }
  else { clearInterval(intervalID); }
}

5000 - это 5 секунд в миллисекундах. И это число мы делим на количество цифр, которые мы должны перебрать.
Так же, если:
Цитата:

interval меньше, чем соответствующей частоте кадров ролика интервал (например, 10 кадров в секунду [fps] соответствуют интервалу в 100 миллисекунд), функция будет вызываться с максимально возможно близкой (при данной частоте кадров) к interval частотой. Вы должны использовать функцию updateAfterEvent(), если необходимо обновлять изображение на экране. Если же занчение interval больше, чем соответствующее данной частоте кадров ролика значение, вызов функции будет происходить при каждой смене кадров (точнее, когда воспроизводящая головка на Таймлайне входит в кадр); это минимизирует излишне частое обновление экрана.


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

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