2012-10-03 3 views
0

Android Andengine을 사용하여 게임을 개발 중입니다. 카메라 너비 720 및 카메라 높이 480을 사용하고 있지만 360 x 480과 같은 로우 엔드 장치의 경우 사용중인 모든 이미지가 압축되어 있습니다. 코드는Android Andengine 게임을 저가형 기기와 역 호환 가능하게 만드는 방법 (저해상도)

public Engine onLoadEngine() { 
    mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); 
    return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, 
      new FillResolutionPolicy(), mCamera).setNeedsSound(true)); 
} 

어떤 해결책이 있습니까?

+0

이 더 명확하게 문제를 지정하세요. 정확히 당신이 성취하고자하는 것은 무엇입니까? – JohnEye

답변

1

onCreateEngineOptions()에서 RatioResolutionPolicy를 지정해야합니다. 그것은 귀하의 활동을 필요한 크기로 확장합니다. 당신은 같은 방법으로 현재 화면 크기를 얻을 수 있습니다 :

private DisplayMetrics getScreenResolutionRatio() { 
    DisplayMetrics dm = new DisplayMetrics(); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindowManager().getDefaultDisplay().getMetrics(dm); 
    return dm; 
} 

다음 RatioResolutionPolicy 지정

public EngineOptions onCreateEngineOptions() { 
    RatioResolutionPolicy policy = new RatioResolutionPolicy(getScreenResolutionRatio().width, getScreenResolutionRatio().height); 
    return new EngineOptions(true, ScreenOrientation.PORTRAIT_SENSOR, policy, this.mCamera); 
} 
+0

코드 포맷에 약간의 문제가 있음을 압니다. 트릭은 "역순으로"수행하는 것입니다. 먼저 질문에 텍스트로 코드를 붙여넣고 들여 쓰기가 올바른지 확인한 다음 전체 코드를 강조 표시하고 코드 샘플 버튼을 클릭합니다. – JohnEye

+0

yaaa 이미 추가했습니다. 하지만 낮은 해상도의 화면 크기 장치에 문제가 발생했습니다. public Engine onLoadEngine() { \t \t this.mCamera = new Camera (0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); \t \t 반환 새로운 엔진 (사실 새로운 EngineOptions ( \t \t \t ScreenOrientation.LANDSCAPE, \t \t \t 새로운 FillResolutionPolicy(), this.mCamera) .setNeedsSound) (TRUE); \t} – Mady

+0

문제는 새 FillResolutionPolicy()가 여전히 장치 크기만큼 장면의 크기를 조정하려고 시도하는 것입니다. RatioResolutionPolicy는 모든 화면을 사용할 수있는 기회를 제공하지만 매개 변수가있는 화면 – SVS

관련 문제