![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2004
Адрес: SentPitersBurg&NovgorodTheGreat
Сообщений: 6
|
Набросал простенький растровый редактор.
http://ris.n53.ru А он, как проработает 5 минут, начинает дико тормозить. Вот текст программы: package { import flash.display.*; import flash.events.*; import flash.utils.Timer; public class draw1 extends MovieClip { var mouse_state=0; var Shape_1:Shape; var myTimer:Timer; //-------------------------------------------------------- function draw1() { Shape_1 = new Shape(); addChild(Shape_1); var myTimer:Timer = new Timer(1000, 0); stage.addEventListener(MouseEvent.MOUSE_DOWN,set_mouse_xy); stage.addEventListener(MouseEvent.MOUSE_MOVE,mouse_is_moving); stage.addEventListener(MouseEvent.MOUSE_UP,off_the_mouse); myTimer.addEventListener("timer", timerHandler); myTimer.start(); } //----------------------------------------------------- public function set_mouse_xy(evt:MouseEvent) { mouse_state=1; } //------------------------------------------- public function off_the_mouse(evt:MouseEvent) { mouse_state=0; } //------------------------------------------- public function mouse_is_moving(evt:MouseEvent) { var x1:int,y1:int,bb:int; bb=5; if (mouse_state>0) { x1=evt.stageX/bb; y1=evt.stageY/bb; Shape_1.graphics.beginFill(0x0,0.5); Shape_1.graphics.lineStyle(0, 0,0); Shape_1.graphics.drawRect(x1*bb, y1*bb, 10, 10); Shape_1.graphics.endFill(); } } //------------------------------------------- public function timerHandler(event:TimerEvent):void { Shape_1.graphics.beginFill(0xFFFFFF,0.1); Shape_1.graphics.lineStyle(0, 0,0); Shape_1.graphics.drawRect(0, 0, 500, 500); } //------------------------------------------- } } ![]() |
|
|||||
|
Регистрация: Sep 2004
Адрес: SentPitersBurg&NovgorodTheGreat
Сообщений: 6
|
"переводить в битмапу" - это как?
|
|
|||||
|
BitmapData.draw()
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Oct 2009
Адрес: Калининград
Сообщений: 134
|
Если так, попробуй ускорить таймер в 10 раз (и соответственно, альфу в drawrect поменять на 0,01) и если тормоза будут наступать в 10 раз быстрее - значит дело действительно в накоплении вектора.
|
|
|||||
|
Больше нечему. Вектор, инфа 100%.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Sep 2004
Адрес: SentPitersBurg&NovgorodTheGreat
Сообщений: 6
|
Спасибо, PsychoTiger.help();
Действительно - Shape "накапливал вектор" и от этого работа замедлялась. Теперь я создал "сладкую парочку" BitmapData и Bitmap делаю BitmapData.draw(Shape_1); и затем сбрасываю Shape_1.clear(); |
|
|||||
|
Регистрация: Oct 2008
Сообщений: 52
|
В общем такую шутку заметил:
import com.gamenickorsk.game.qest.controler.Control; //import com.gamenickorsk.game.qest.adjustment.GlobalVar; var control:Control = new Control(); this.stop(); control.movement(panel.b1,this.rooms,"left"); control.movement(panel.b2,this.rooms,"forward"); control.movement(panel.b3,this.rooms,"right"); control.movement(panel.b4,this.rooms,"back"); control.visU(closepanel,panel,true,m1,"t2","t1"); control=null; Если после того как экземпляр класса стал больше не нужен - его значение присваиваем null - скорость работы увеличивается. |
|
|||||
|
На скорость работы влиять не должно. Значит, у вас не отписаны все события перед уходом в null.
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:53. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|