我正在使用 And Engine 制作游戏,当我尝试以适用于所有设备的通用方式制作游戏时,我遇到了麻烦......
我需要在应该在所有屏幕上工作的背景精灵的特定位置上设置一个精灵......我的背景屏幕的尺寸与设备的尺寸相同......
我尝试使用像素,比如说 Glaxy S3 ha 尺寸720*1280
我根据它在位置(584,608)设置我的精灵
和我的 HTC experia ha 尺寸(320,480)
所以我需要将其设置为(244,172) ....
我已经尝试了以下所有方法来以通用方式设置精灵的位置,但如果任何工作都没有......
我已经尝试了很多以下方法来制作一些让我能够做到但找不到任何公式的公式。请告知
final Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
metrics.density;
metrics.densityDpi;
metrics.heightPixels);
metrics.scaledDensity);
metrics.widthPixels);
metrics.xdpi);
metrics.ydpi);
Point point = getDisplaySize(display);
CAMERA_WIDTH = point.x;
CAMERA_HEIGHT = point.y;
DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm);
double x = Math.pow(dm.widthPixels/dm.xdpi,2);
double y = Math.pow(dm.heightPixels/dm.ydpi,2);
double screenInches = Math.sqrt(x+y);
int widthPix = (int) Math.ceil(dm.widthPixels * (dm.densityDpi / 160.0));
//CAMERA_WIDTH = display.getWidth();
//CAMERA_HEIGHT = display.getHeight();
问题有点复杂.. 正如我上面所说的,我尝试使用像素,比如说 Glaxy S3 ha *dimensions 720*1280 并且所需的精灵位置是(584,608)所以我以方式设置(CAMERA_WIDTH/1.233f,CAMERA_HEIGHT/2.112f) *
但是 HTC experia 的尺寸为*320*480 所以根据 (CAMERA_WIDTH/1.233f,CAMERA_HEIGHT/2.112f) 所需的位置是 (2599.5,227.27)* 但根据显示这是错误的......当我将它设置为(244,172)对于 experia,它的工作完美。... 请帮忙。