Не изменять размер игрового образа на планшете Samsung 10.1 (1280x800) с помощью andengine - PullRequest
0 голосов
/ 13 декабря 2011

Я разрабатывал игру, используя андегин. Работает нормально (автоматически изменяет размер изображений) для всех разрешений экрана, кроме размера экрана планшета (1280x800). Я использовал этот код

displayMetrics = new DisplayMetrics();  
    this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);   
    //Display display = getWindowManager().getDefaultDisplay(); 
    CAMERA_WIDTH=displayMetrics.widthPixels;
    CAMERA_HEIGHT=displayMetrics.heightPixels;       

    this.mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
    final Engine engine = new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new  FillResolutionPolicy(), this.mCamera).setNeedsSound(true));      
    return engine;

Для логотипа игры и экрана меню я использовал private static int CAMERA_WIDTH = 720; private static int CAMERA_HEIGHT = 480; Работает нормально (автоматически изменяет размер изображений) в планшете после изменения в файле манифеста

   <supports-screens  android:largeScreens="true"/>

Но внутри игры игра не изменяет размер. Как решить эту проблему?

1 Ответ

1 голос
/ 13 декабря 2011

Вы должны поставить это тег supports-screens:

<supports-screens android:smallScreens="true"
              android:normalScreens="true"
              android:largeScreens="true"
              android:xlargeScreens="true"/>

Вы можете прочитать больше здесь .

Кстати, изменение размера камеры в зависимости от экрана не очень хорошая идея. Помните, что размер камеры - это размер прямоугольника вашей сцены, который фактически отображается на экране устройства. Если существуют разные размеры камер для разных устройств, и это означает, что каждое устройство будет видеть игру по-разному, и этого не следует делать (это было бы странно, может быть, несправедливо ... и более)

Вы можете установить постоянную ширину и высоту камеры, а затем использовать RatioResolutionPolicy, чтобы использовать как можно большую часть экрана.

...