Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Double Buffering (http://www.flasher.ru/forum/showthread.php?t=158147)

ASchainik 15.06.2011 23:08

Double Buffering
 
Поставил flex4.5, пишу чисто на AS3.
Возник вопрос, во флэш используется двойной буфер или вывод графики в играх реализуется иначе?

-De- 16.06.2011 00:57

Кто во что горазд реализуют =) "Своего" вроде нет, соответствующие артефакты вродь присутствуют (там же смотреть как лечатся). Не думаю, что можно себе позволить лишний буфер и копирование его на флэше (скорость рендера у нас больной вопрос, ждём molehill).

ASchainik 16.06.2011 16:58

Спс. Сделал вот так. Можете прокомментировать?
Код AS3:

package
{
        import flash.display.*;
        import flash.events.*;
 
        public class doubleBuf extends Sprite
        {
                private var backBuffer:BitmapData;
                private var color:uint = 0;
 
                public function doubleBuf()
                {
                        backBuffer = new BitmapData(640,480,false,color);
 
                        addEventListener(Event.ENTER_FRAME, onEnterFrame);
                }
 
                private function onEnterFrame(event:Event):void
                {
                        backBuffer.fillRect(backBuffer.rect,color);
 
                        for (var i:uint=0; i<150000; i++)
                        {
                                backBuffer.setPixel(Math.random()*640, Math.random()*480, Math.random()*0xFFFFFF);
                        }
 
                        graphics.beginBitmapFill(backBuffer);
                        graphics.drawRect(0,0,640,480);
                        graphics.endFill();
                }
        }
}



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

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