Анимированная генерация

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.

Анимированная генерация

Сообщение Casperovskii » 07 июн 2014, 12:32

Доброго времени суток всем!
Я тут делаю простенькую иллюстрацию с генерацией графонистой (линии рисовать). Так вот из-за того, что все функции рисования вызываются в одной функции (извините за повтор) слушателя нажатия на кнопку и внутри цикла while, на экране выводится конечный результат. Никакого прогресс бара не сделаешь, соответственно.
Так вот вопрос, как грамотно сделать анимированную генерацию, то бишь чтобы каждый шаг этого цикла while после нажатия выводился отдельно? Для примера можно глянуть эту ссылку (тут не флеше, но анимация как раз такая, какая надо).
Casperovskii

 
Автор темы
Сообщения: 429
Зарегистрирован: 22 июн 2012, 17:50
Благодарил (а): 11 раз.
Поблагодарили: 43 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Анимированная генерация

Сообщение sasha^ » 07 июн 2014, 13:00

легко... или внутри цикла каждый раз проверять условие для вывода и выводить, или генерировать событие самим циклом, что типа вот, готов 1 шаг=)
sasha^

 
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52
Благодарил (а): 1 раз.
Поблагодарили: 136 раз.

Re: Анимированная генерация

Сообщение alexandr_ratush » 07 июн 2014, 13:02

Добрый день!
Если я вас правильно понял, то можно использовать объект Timer с определенным интервалом, и при каждом тике вызывать вашу функцию рисования.
Аватара пользователя
alexandr_ratush

 
Сообщения: 94
Зарегистрирован: 05 мар 2014, 21:47
Откуда: Ukraine
Благодарил (а): 2 раз.
Поблагодарили: 25 раз.

Re: Анимированная генерация

Сообщение Casperovskii » 07 июн 2014, 14:04

Код такого вида:
  1. function buttonClickListener(...):void {
  2. while (condition) {
  3.  draw(parametrs)
  4. }
  5. }

Можно чуть конкретнее, как его преобразовать?
Кнопка тыкается один раз и запускается эта функция.
Casperovskii

 
Автор темы
Сообщения: 429
Зарегистрирован: 22 июн 2012, 17:50
Благодарил (а): 11 раз.
Поблагодарили: 43 раз.

Re: Анимированная генерация

Сообщение sasha^ » 07 июн 2014, 14:19

да, флеш не отрисовывает внутри цикла... потому или таймер, или ENTER_FRAME...
sasha^

 
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52
Благодарил (а): 1 раз.
Поблагодарили: 136 раз.

Re: Анимированная генерация

Сообщение alexandr_ratush » 07 июн 2014, 17:06

Может такой вариант подойдет?
  1.  
  2. import flash.utils.Timer;
  3. import flash.events.TimerEvent;
  4.  
  5. var arrParam:Array;
  6. var timer:Timer;
  7.  
  8. function init():void
  9. {
  10.     arrParam = new Array();
  11.    
  12.     var i:int = 100;
  13.     while (i)
  14.     {
  15.         // Сохраняем в массив наши параметры для рисования
  16.         arrParam.push(i--);
  17.     }
  18.    
  19.     // Рисуем
  20.     draw();
  21. }
  22.  
  23. function draw():void
  24. {
  25.     // Рисуем через каждые 100 мс
  26.     timer = new Timer(100, arrParam.length);
  27.     timer.addEventListener(TimerEvent.TIMER, onTickHandler);
  28.     timer.start();
  29. }
  30.  
  31. function onTickHandler(e:TimerEvent):void
  32. {
  33.     graphics.beginFill(0xff0000, 1);
  34.     graphics.drawRect(arrParam.pop(), 5, 1, 5)// Выбираем последний эллемент массива и рисуем в той точке
  35.     graphics.endFill();
  36. }
  37.  
  38. init();

За это сообщение автора alexandr_ratush поблагодарил:
Casperovskii
Аватара пользователя
alexandr_ratush

 
Сообщения: 94
Зарегистрирован: 05 мар 2014, 21:47
Откуда: Ukraine
Благодарил (а): 2 раз.
Поблагодарили: 25 раз.

Re: Анимированная генерация

Сообщение Casperovskii » 09 июн 2014, 11:43

alexandr_ratush
Надеюсь, что подойдет. Попробую. Сейчас загвоздка с некоторыми багами в программе. Как дойду до прикручивания анимации, так отпишусь, удалось или нет
Casperovskii

 
Автор темы
Сообщения: 429
Зарегистрирован: 22 июн 2012, 17:50
Благодарил (а): 11 раз.
Поблагодарили: 43 раз.


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в Программирование на Flash



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0