如何使Android和Engine游戏向后兼容低端设备(低分辨率)
我正在使用Android和Engine开发游戏。 我使用相机宽度720和相机高度480,但对于lowend设备(如360 x 480),我使用的所有图像都是压缩的。 代码是 有解决方案吗?在onCreateEngineOptions()中,您应该指定RatioResolutionPolicy。这会将您的活动扩展到所需的大小。您可以通过以下方法获取当前屏幕大小:如何使Android和Engine游戏向后兼容低端设备(低分辨率),android,andengine,Android,Andengine,我正在使用Android和Engine开发游戏。 我使用相机宽度720和相机高度480,但对于lowend设备(如360 x 480),我使用的所有图像都是压缩的。 代码是 有解决方案吗?在onCreateEngineOptions()中,您应该指定RatioResolutionPolicy。这会将您的活动扩展到所需的大小。您可以通过以下方法获取当前屏幕大小: private DisplayMetrics getScreenResolutionRatio() { DisplayMetri
private DisplayMetrics getScreenResolutionRatio() {
DisplayMetrics dm = new DisplayMetrics();
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindowManager().getDefaultDisplay().getMetrics(dm);
return dm;
}
然后指定您的比率解决方案策略:
public EngineOptions onCreateEngineOptions() {
RatioResolutionPolicy policy = new RatioResolutionPolicy(getScreenResolutionRatio().width, getScreenResolutionRatio().height);
return new EngineOptions(true, ScreenOrientation.PORTRAIT_SENSOR, policy, this.mCamera);
}
请更清楚地说明问题。你到底想实现什么?我发现你在代码格式方面有一些问题。诀窍是“反向”操作,首先将代码作为文本粘贴到问题上,确保缩进是正确的,然后突出显示整个代码并单击“代码示例”按钮。但是我遇到了低分辨率屏幕大小设备的问题public Engine onLoadEngine(){this.mCamera=新摄像头(0,0,摄像头宽度,摄像头高度);返回新引擎(新引擎选项(true,ScreenOrientation.scape,new FillResolutionPolicy(),this.mCamera)。setNeedsSound(true));}问题是新的FillResolutionPolicy()仍在尝试将场景重新缩放到设备的大小。RatioResolutionPolicy将为您提供一个不使用所有屏幕的机会,但带有参数的屏幕我希望对所有屏幕分辨率进行常规构建。这就是为什么要使用我描述的方法getScreenResolutionRatio(),并获取屏幕度量。然后设置使用度量计算所需分辨率的数学逻辑。然后,无论屏幕大小如何,您都将拥有具有所需纵横比的场景。
public EngineOptions onCreateEngineOptions() {
RatioResolutionPolicy policy = new RatioResolutionPolicy(getScreenResolutionRatio().width, getScreenResolutionRatio().height);
return new EngineOptions(true, ScreenOrientation.PORTRAIT_SENSOR, policy, this.mCamera);
}