Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Замедленное рисование с помощью класса Timer (http://www.flasher.ru/forum/showthread.php?t=127201)

ripeLime 07.07.2009 22:32

Замедленное рисование с помощью класса Timer
 
Есть функция, рисующая узор:
Код:

private function drawPattern([x1,x2...xn],[y1,y2...yn]:int):void {
                                  Обрабатываем координаты

                        //Вычесляем длину отрезков
                        lineSize = ....
                                  if (lineSize < 2) {
                                Рисуем часть узора
                        }
else {
                                drawPattern(с новыми параметрами);
                                drawPattern(с новыми параметрами);
                                            drawPattern(с новыми параметрами);
                        }
                }

Как сделать, чтобы узор рисовался постепенно.
Я понимаю, что надо использовать класс Timer, но проблема заключается в том, как передать слушателю все значения на момент отрисовки.

DeliMIter 08.07.2009 01:07

Массив предстоящих действий + итератор текущего действия + Event.ENTER_FRAME или Timer или setInterval.

Pushkash 08.07.2009 11:14

Код AS3:

finction startDraw(e:TimerEvent):void{
drawPattern(...);
}


ripeLime 08.07.2009 15:04

Цитата:

Сообщение от DeliMIter (Сообщение 833839)
Массив предстоящих действий + итератор текущего действия + Event.ENTER_FRAME или Timer или setInterval.

Отрисовка будет вызываться очень много раз и хранить все будующие координаты, которые предстоить изменить, это память тратить. Если конечно, нет другого варианты, буду делать так.
Цитата:

Сообщение от Pushkash (Сообщение 833874)
Код AS3:

  finction startDraw(e:TimerEvent):void{  drawPattern(...)}


Функция drawPattern рекурсивная, этот вариант не приемлим.




Нужно просто прицепить задержку, что-то вроде delay(); в Паскале, только не зависищее от скорости процессора.


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

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