据我所知,Andengine为我们提供了将场景缩放到用户可能拥有的任何尺寸屏幕的选项。
我的问题是,如果开发更大的分辨率(例如1280/800)并将其缩小为更小的屏幕或更小的分辨率(例如800/480并在更大的屏幕上扩展它)会更好吗?
我确实尝试在一个示例游戏中测试它,通过将其开发为1280/800并按比例缩小(通过ratioResolutionPolicy)到800/480,结果并不令人满意,每个地方都出现了断断续续的帧率调试器虽然显示60+。对我来说编程是不好的还是与缩小像素有关,我应该开发更小的屏幕并进行扩展吗?
答案 0 :(得分:2)
我想这取决于您使用的是哪种图形。
比如说,你想要以复古游戏像素风格创建一些东西,那么使用小图像并开发小分辨率(如480x320)会更有意义。像素图形可以放大而不会降低质量,但不会降低(然后像素松散形式)。
但是如果你想要高分辨率的图形,你很可能更好地为一个大分辨率开发整个东西,并让AndEngine缩小它。
在这两种情况下,图片的质量也取决于TextureOption
的{{1}}。
无论如何,我可以想象既不缩小规模也不扩大规模更有效率。缩放由openGL完成,应该很快。然而,使用大分辨率的缺点是设备必须在其内存中保存大量图像,当然处理大图像总是比处理小图像花费更多时间。那么最好的方法是开发中型设备(例如960x640)?
我知道这没有多大帮助,不幸的是,为了满足您的特定需求,需要进行大量的尝试和错误。
答案 1 :(得分:1)
为了在所有类型的Android设备上取得好成绩,从我的角度来看,你有两种方法可以遵循。
首先,您必须开发并使用两个图形来处理所有类型的设备。例如,分辨率为1024x600,其他分辨率为480x320。根据设备当前分辨率,您必须加载特定的一种图形。
其次,您选择最适合您的任何单一分辨率,并在市场中占有很大份额。仅为该分辨率开发和使用图形。对于基于宽高比的图形的其他分辨率比例。为此,您必须创建超级精灵,并根据宽高比计算更改x,y,height的值。
这是我与你分享的经验。如果您有任何疑问,请随时提出。