본문 바로가기

액션스크립트 3.0

디스플레이 엔진 : Bitmap기반 Blitting 구현하기


'BitmapData로 Blitting을 구현하기'를 읽고...

 

AS3.0 의 핵심기능은 DisplayObject 모델객체로 구성되어있고,  Event 모델을 사용하여 복잡한 이벤트를 전파하고 있습니다. 실행 속도를 중요시 하는 게임개발에 있어, 객체지향( OOP ) 프로그램 구조가 효율적이긴 하나, 전반적으로 무거운 구조를 가지고 있기 때문에, 어떠한 실행환경이냐에 따라 다른 방식으로 제작해야 할 필요성을 느낍니다. 이미 다른 언어에서 사용하고 있는 개념을 적용하여, 현명한 해결책까지 제시해주고 있습니다. 플래시 액션스크립트만 사용하고 있는 유저들에겐 생소하게 느껴질 수 있는 개념인듯 합니다.

 

플래시 게임에 관심 있는 분들은 꼭 한번 읽어 볼만한 포스트글인거 같습니다.

 

자료

 

Bitmapdata로 Blitting를 구현하기

http://www.diebuster.com/?p=1248

 

출처 : dieBuster

 

플리핑( flipping ) 이란?

 

- 기본표면( primary surface )과 보조표면( back buffer ) 사이의 자료 이동을 말한다. 보조표면이란 기본표면과 같이 비디오카드에 위치한 메모리에 할당되는 표면이다. 기본표면에 배경과 캐릭터 등을 그릴 때 자연스럽지 못한 애니메이션이 나타날수 있기 때문에 보조표면을 이용하여 필요한 그림을 처리하고 완성된 조합된 그림을 고속으로 기본표면에 복사한다. 이러한 고속복사하는 과정을 플리핑이라 한다.

 

블리팅( blitting ) 이란?

 

- 폴더 안에 존재하는 그림을 게임에서 표현하기 위해서는 그림을 읽어서 보조표면이나 기본표면에 표현하여야 하는데 폴더에서 매번 읽어서 보조표면으로 이동시킨다는 것은 매우 비효율적이다. 따라서 폴더에서 오프스크린 표면으로 옮긴 후 오프스크린 표면에 있는 그림을 보조표면으로 옮긴다. 오프스크린 표면에서 보조표면으로 옮기는 작업을 블리팅이라 한다.