안드엔진의 화면 크기 대응책

안드로이드 기기의 다양한 화면 크기에 대응하기 위해서 안드 엔진에서는 몇가지 화면 크기 처리 방식을 제공하고 있는데, org.andengine.engine.options.resolutionpolicy 패키지를 살펴보면 다음과 같은 것들이 있다. 이들은 모두 IResolutionPolicy 인터페이스를 구현하고 있는 추상 클래스인 BaseResolutionPolicy 클래스를 상속하고 있다.

FillResolutionPolicy
화면의 가로 및 세로를 꽉 채운다. 다만, 화면상의 이미지들이 억지로 늘려지기 때문에 비율이 틀어져서 왜곡된다는 단점이 있다.

FixedResolutionPolicy
일정한 화면 크기만을 사용하도록 고정시킨다. 지정된 화면 크기보다 큰 화면에서는 여백이 검게 남게 된다. 생성자에서 가로, 세로 크기를 지정한다.

RatioResolutionPolicy
화면 가로/세로 비율을 일정하게 유지하도록 한다. 기기의 가로/세로 비에 따라서 검은 줄이 보일 수 있다. 생성자의 매개 변수로 (가로/세로) 값을 전달할 수도 있고, (가로, 세로)를 전달할 수도 있다. 아마도 대부분의 경우에 이 클래스를 사용하게 될 것 같다.

RelativeResolutionPolicy
화면의 스케일을 지정할 수 있다.

이러한 ResolutionPolicy들은 엔진 옵션의 생성시에 지정하게 된다. 즉, 게임 액티비티의 onCreateEngineOptions() 메서드를 통해서 반환하게 될 엔진 옵션의 생성시에 매개변수 중 하나로 전달된다.
EngineOptions engineOptions = new EngineOptions( true,
         
ScreenOrientation. LANDSCAPE_FIXED ,
         new
RatioResolutionPolicy( 800, 480) , camera) ;



Evernote는 모든 것을 기억하고 간편하게 정리하는데 도움이 됩니다. Evernote를 다운로드하세요.

이 블로그의 인기 게시물

좌표 변환: 회전 이동

Unmappable character for encoding MS949

Hello JNI (3), C 라이브러리에 문자열 전달