最近,我和一小群朋友开始对开发移动平台游戏感兴趣。最初我们考虑过iPhone,但我们都不使用mac,因此我们认为Android将是一个更实际的平台。在我们开始之前,我希望我可以找到几个问题的答案,所以如果这个项目不可行,我们不会浪费时间。任何帮助表示赞赏!
我似乎无法了解Android支持多少种编程语言。 Java很明显,但C +呢?看起来Android通过Eclipse支持C和C ++,但是它呢? (我不是这个项目的程序员,这就是我问这个问题的原因。他对C +很满意。)
我们的游戏涉及使用两个数字模拟棒(它不是双棒射击游戏,但它是一个类似的概念)。不幸的是,大多数Droid设备似乎都没有使用多点触控......现在有很多设备支持这种功能,我只是没有看到它们,或者我们是否应该考虑开发不同的设备只使用单一输入的游戏?
假设在前两个问题之后没有任何障碍,你认为最好的屏幕分辨率是什么?似乎现在有各种各样的决议,我们无法决定哪种是最好的。
同样,任何答案都表示赞赏!
答案 0 :(得分:1)
您必须至少使用一些Java,尽管您可以使用新发布的NDK调用C ++。
据我所知,至少Droid和Nexus One支持多点触控。不确定新的。
我会针对多种屏幕尺寸进行开发。
Chris Pruett做了两篇非常好的关于为Android编写实时游戏的演讲,你可能想要研究一下,它们对我来说是一个巨大的帮助。他也轻轻触及第二部分的NDK,下面链接。我只能发布一个链接,因为我是新成员,但谷歌搜索“为Android编写实时游戏”应该将其打开。
答案 1 :(得分:1)
1)Java是SDK的语言。大多数应用程序都是应用Java编写。 NDK的唯一原因是以前用C ++编写的应用程序将移植到Android。有缺点 - 它只支持编译到2个不同的CPU(一个是Nexus one的CPU,不记得另一个是什么)。因此,如果您在NDK中使用C / C ++,则严重限制了可以发送到的设备数量。
2)如果您想使用双模拟摇杆,为什么不在屏幕的角落显示摇杆并允许用户将拇指放在屏幕上?您不需要硬件支持。
3)Android SDK支持多种屏幕分辨率,因此您无需立即担心。我的目标是让WVGA开始(800x480 - Nexus One / HTC Desire)。答案 2 :(得分:0)
您的第一个问题已经被其他人回答了。 SDK基于Dalvik,您将不得不在Android框架中使用Java来执行诸如设置活动,处理事件等操作。您可以调用使用NDK构建的本机代码模块来执行其他操作。
Android上的多点触控情况取决于硬件。 Android> = 2.0在框架中支持它,您可以使用PackageManager
来查询设备支持的多点触控功能。您关注的两个是FEATURE_TOUCHSCREEN_MULTITOUCH
和FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT
。当两个手指沿着或接近相同的X或Y坐标时,仅提供FEATURE_TOUCHSCREEN_MULTITOUCH
的一些屏幕在区分精确移动方面存在问题。这适用于缩放手势等,但在没有FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT
的设备上进行双模拟样式控制可能会遇到问题。
计划支持多种分辨率。如果您提供低分辨率和高分辨率资源,资源系统可以在运行时自动为您选择适当的资产。 More details on this here.您仍需要处理不一定具有宽高比的不同分辨率。例如,Droid是480x854而Nexus One是480x800。