所以我需要根据手机屏幕尺寸重新调整我的精灵,
我执行以下操作:
final Display display = getWindowManager().getDefaultDisplay();
cameraWidth = display.getWidth();
cameraHeight = display.getHeight();
//check to load male or female
Intent sender=getIntent();
String extraData=sender.getExtras().getString("char");
if(extraData.contains("1"))
{
isMale = 1;
}
else
{
isMale = 0;
}
mCamera = new Camera(0, 0, cameraWidth, cameraHeight);
return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE,
new RatioResolutionPolicy(cameraWidth, cameraHeight), mCamera)
.setNeedsMusic(true).setNeedsSound(true));
然而,对于精灵,即玩家和敌人,我给他们任意大小,如50像素50像素 - 现在在小屏幕上他们看起来真的很大!如何根据屏幕尺寸调整它们的大小?
此外,这些图像是从资源文件夹加载的,因此它们与HDPI和LHPI图像文件夹无关。
先谢谢社区。 p>
答案 0 :(得分:2)
您应该使用可在不同设备屏幕上扩展的SVG图形。
我建议您将CAMERA_WIDTH和HEIGHT设置为屏幕大小,无论它的大小是什么尺寸。
例如,对于我正在制作的项目,我的相机宽度和高度为800x480。
这样你就不必担心调整任何精灵的大小。它们在每个设备上看起来都相同,同时引擎通过RationResolutionPolicy进行扩展。
这是解决这个问题的最好方法。
如果您根据设备设置屏幕尺寸,则必须为每个设备添加不同的图形。
所以我建议使用SVG图形,以便当图像由引擎自动放大时,它们的质量不会降低。或者你可以使用png并使它们变大,这样它们只会按比例缩小。如你所知,他们不会通过缩小来降低图像质量。