“愤怒的小鸟”应用程序使用哪种编程语言进行开发?

13

我从未编写过游戏,但已有约十二年的界面编程经验。在我的安卓手机上玩了几款游戏后,我很好奇像《愤怒的小鸟》这样的游戏使用哪种语言进行编程,以及如何进行图形操作。是原生语言还是一些跨平台代码呢?

谢谢!

5个回答

10

这就是我一直在寻找的。谢谢! - Allen Gingrich
使用Lua开发愤怒的小鸟游戏的另一个参考资料是此文章中的视频:https://cacm.acm.org/magazines/2018/11/232214-a-look-at-the-design-of-lua/fulltext。 - Mohamed ElNakeep
这是Lua,不是LUA :) - DarkWiiPlayer

5
Android应用程序使用Android开发工具包中的Java编写,iPhone游戏使用Objective-C编写。
Android开发工具包可在此处获取: http://developer.android.com/index.html iPhone(iOS)开发工具包可在此处获取(注意需要Mac电脑): http://developer.apple.com/devcenter/ios/index.action 由于这两种语言都基于C语法,因此代码的基本部分之间存在很多交叉兼容性。然而,与手机的交互都是通过各自的SDK完成的,所以您需要进行相应的更改。还值得注意的是,在iPhone上,Objective-C没有垃圾回收功能,因此您需要关注内存管理!

Java并不完全基于C,除了一些语法方面的相似之处外。 - Tyler Eaves
我指的是语法,如果不清楚,对不起。 - Robb
我已经编写了Android应用程序,也许我应该这么说。我不确定它是纯Java还是其他什么。不过,非常感谢您的明确答复。 - Allen Gingrich
5
在这两个平台上,本地开发是可能的,并且有时是唯一的解决方案,以使一些特别复杂/资源密集型的游戏适配硬件。 - Klaim
@Robb 如果使用iOS SDK,Objective C确实使用垃圾回收机制,因此您不必担心释放内存的问题... - t0mm13b

5

6
“那很糟糕,把同一个主题作为来源链接回去。” - John Riselvato

1

核心至少要用C语言。如果我是他们,我会用C语言编写核心,并在Android上使用Java进行封装(我认为你可以这样做),在iPhone上使用Objective C进行封装(我知道你可以这样做)。


3
为什么核心必须是C语言? - aioobe
1
C是跨平台的,这意味着你可以为Android(如果我理解正确的话,我不是一个Android程序员)和iPhone编译它。我修改了我的答案。 - Jason Webb
对于Android,答案是肯定的 - 您可以使用C语言创建核心,并使用JNI进行封装,以便从Java(Android SDK)中使用它。 - Mark

1

我一直认为这些开发人员使用c/c++编写核心功能,然后使用本地开发工具包将两者链接起来。例如,我知道在Android开发中,您可以使用NDK将Java封装在c/c++周围。

http://developer.android.com/sdk/ndk/index.html

具有讽刺意味的是,在这种情况下,Java并不是“一次构建,到处运行”的语言 :p


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