我使用和发动机,当我试图使它在所有设备上工作的话,我是在急难通用的方式做一个游戏......安卓:Andengine设置精灵的立场,即在所有设备上工作
我需要在背景精灵的特定位置上设置精灵,该精灵应该可以在所有屏幕上工作...我的背景屏幕与设备的尺寸具有相同的尺寸..
我尝试使用像素说让Glaxy S3 ha尺寸720 * 1280
而我根据它来设置我的精灵位置(584608)
和我的HTC Experia还公顷尺寸(320480)
,所以我需要把它放在(244172) ....
我已经尝试了所有以下以通用的方式设置精灵的位置,但不是如果任何工作...
我已经尝试了很多以下的事情,使一些公式,使我能做到但无法找到任何..请告知
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公顷*尺寸720×1280和所需的子画面的位置是(584608) 所以我在方式设定(CAMERA_WIDTH/1.233f,CAMERA_HEIGHT/2.112f)*
BUT HTC Experia还具有尺寸* 320 * 480因此,所需要的位置根据(CAMERA_WIDTH/1.233f,CAMERA_HEIGHT/2.112f)为(2599.5,227.27)* 但这个错误根据显示... 当我将它设置为(244,172)进行实验时完善。 ...请帮忙。
钟感谢评论,但我的问题是有点复杂的。至于我告诉我试图用像素让利说Glaxy S3公顷尺寸720 * 1280和所需的精灵位置(584,608) 所以我设置方式(CAMERA_WIDTH/1.233f,CAMERA_HEIGHT/2.112f)但HTC实验的尺寸为320 * 480 因此,根据(CAMERA_WIDTH/1.233f,CAMERA_HEIGHT/2.112f)所需的位置是(2599.5 ,227.27)但这个错误根据显示... 当我设置它(244,172)为实验其工作完美....请帮助.. – Imran
请建议解决方案和信息m如果想要更多的信息... – Imran
嗨,我怀疑我正在使用比例分辨率政策,在我的基本游戏活动中,我重写了首发内容视图但在此之后,保证金只出现在一侧如何CAn我解决了这个问题?这里是我的堆栈问题的链接http://stackoverflow.com/questions/14427152/how-to-override-onsetcontentview-while-using-ratio-resolution-policy-in-andengin –