不使用andengine在Samsung Tablet 10.1(1280x800)上调整游戏图像的大小

时间:2011-12-13 12:57:29

标签: android andengine

我使用andengine开发游戏。除平板电脑屏幕尺寸(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 个答案:

答案 0 :(得分:1)

您需要将此标记为supports-screens

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

您可以阅读更多here

顺便说一下,根据屏幕改变相机尺寸不是一个好主意。请记住,相机大小是场景的矩形大小,实际显示在设备屏幕上。如果不同的设备有不同的相机尺寸,并且意味着每个设备将以不同的方式看到游戏,而且不应该这样做(这会很奇怪,可能不公平......等等)

您可以设置相机宽度&amp;高度为常数,然后使用RatioResolutionPolicy尽可能多地使用屏幕。