在Android上创建分辨率独立的游戏

3
我对Android游戏开发(以及Android开发)非常新手。我的第一个问题出现在我为我的第一个游戏创建背景时:我应该选择哪个尺寸?例如,如果我选择800x480,它会在任何其他分辨率下显示良好吗?那么我的主角呢?如果我让它每帧移动5像素(我已经知道如何使其独立于fps,这只是一个例子),在320像素宽的屏幕上移动5像素与在800像素宽的屏幕上移动5像素不同。有什么建议吗?
谢谢
4个回答

2

您应该为希望支持的每个屏幕密度单独创建资源文件。


1
选择在您计划开发的设备上本地支持的背景大小,并在项目接近尾声时考虑支持非本地分辨率或添加其他分辨率的资源。不要陷入细节中。

移动方面怎么处理?如果我想在物体不在屏幕范围内时销毁它,该怎么办?我如何知道呢? - Ivan

0

正如@PaulSonier所说,不要担心在最后支持多个分辨率。

现在只需在一个设备上开发,并尽可能使用“dp”或“dip”单位。这将使最终支持多个屏幕尺寸和密度更容易。

至于背景,请考虑使用9-patches


我正在使用以下代码绘制背景: canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.background), new Rect(0,0, 800, 480), new Rect(0,0,W,H), paint);我应该指定多大的W宽度和H高度呢? - Ivan

0

你应该为每个你想要支持的分辨率准备一个单独的图形集。如果你真的想覆盖所有当前的设备,并在每个设备上都拥有清晰而锐利的图形,并且你想确保纵横比不会使你的游戏在某些设备上看起来很奇怪,那么你需要按照以下分辨率和比例准备你的资源:

  1. 854x600 比例 100%
  2. 1024x800 比例 120%
  3. 1280x1024 比例 160%
  4. 1536x1152 比例 192%
  5. 1920x1200 比例 240%
  6. 2560x1600 比例 320%

来源: http://bigosaur.com/blog/31-android-resolutions-definite-answer

最好的解决方案是至少绘制所有全屏图像为2733x2134像素,然后将其缩小。如果你有文本,你可以缩小图像,但最好使用较小的字体大小并将其放在图像上方。你可以在运行时或预先渲染文本来完成这项工作。你可以使用ImageMagick自动化处理6种不同大小的图像,以便你不必手动完成。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接