0

我正在用一个棋盘和一个在棋盘周围移动的物体制作一个游戏。此时,我一直在使用绝对布局并将板设置为我想要的大小,并将对象设置为我想要的板上的位置。但是,我知道这不是编写这些应用程序的最佳方式。如何使我的应用程序适用于所有智能手机,仍然可以灵活地将电路板制作成我想要的大小并将对象准确地放在我想要的位置上?我应该为每种屏幕尺寸(HD、WVGA 等)制作单独的 xml 文件吗?您推荐使用哪种布局类型?谢谢!

4

2 回答 2

0

我强烈建议您不要自己编写游戏框架,而是使用 AbsoluteLayout 之类的东西,而是使用已经存在的众多游戏框架之一,并有多种方法来处理这个问题。与其使用 AbsoluteLayout 并将事物定位在屏幕上,不如使用一个封装低级 openGL 调用的框架,并且能够每秒获得 60+ 帧。对于 Android,我强烈推荐libGDX,它有大量的社区支持和高性能。

libGDX将允许您制作一个 Android 应用程序、一个桌面应用程序(非常适合开发,因为您可以在不到一秒钟的时间内启动它并测试您的代码)和一个在浏览器中运行的 HTML5 应用程序。(另外,如果你愿意,有办法为 iphone 编译它,但我从未尝试过)。

使用libGDX有几种方法可以解决您所说的问题(这是一种常见的方法)。如果您希望更大的屏幕具有稍微不同的纵横比,您可以显示更多内容,您可以拉伸屏幕以适应它,或者您也可以为稍微不同的纵横比引入黑条,所有这些都可以轻松完成设置您的视图。

如果您有兴趣,他们的主站点上有很多教程和文档的链接。

编辑: 这是一个处理 libGDX 的多个屏幕分辨率的问题:Dealing with different aspect ratios in libgdx

于 2013-07-30T01:23:47.600 回答
0

对于游戏,您应该考虑使用游戏库。

我知道的两个流行库是libGdxAndEngine

每个都有自己的优点和缺点。

根据我的经验,LibGdx 比 AndEngine 更难学习,也更底层,但它具有更高的性能,并且可以跨平台运行(甚至在你自己的 PC 上)。

AndEngine 是基于 LibGdx 的,所以得到了它的一些优点,但又不一样。

另一种可能的解决方案是学习 openGL ES 并自己做所有事情。目前,大约 99% 的设备都有 openGL ES 2 ,所以也许学习它而不是 openGL ES 1。

于 2013-07-31T21:48:13.233 回答