Programming languages 用什么语言编写';愤怒的小鸟';应用程序?

Programming languages 用什么语言编写';愤怒的小鸟';应用程序?,programming-languages,Programming Languages,我从来没有编写过游戏,但有十几年的编程经验。在我的安卓手机上玩了几次游戏后,我一直想知道什么语言被用来编写像《愤怒的小鸟》这样的游戏,以及这种图形操作是如何发生的。本地语言还是一些跨平台代码 谢谢大家! Android应用程序是用Java和Android开发工具包编写的,iphone游戏是用objective c编写的 Android开发工具包在这里提供 此处提供iphone(iOS)开发工具包(注意需要mac) 由于这两种语言都基于C语法,因此代码的基本部分之间有很多交叉兼容性,但是与手机

我从来没有编写过游戏,但有十几年的编程经验。在我的安卓手机上玩了几次游戏后,我一直想知道什么语言被用来编写像《愤怒的小鸟》这样的游戏,以及这种图形操作是如何发生的。本地语言还是一些跨平台代码


谢谢大家!

Android应用程序是用Java和Android开发工具包编写的,iphone游戏是用objective c编写的

Android开发工具包在这里提供

此处提供iphone(iOS)开发工具包(注意需要mac)


由于这两种语言都基于C语法,因此代码的基本部分之间有很多交叉兼容性,但是与手机的交互都是通过各自的sdk完成的,因此您必须对此进行更改。另外值得注意的是,iphone上的objective c不是垃圾收集的,因此您需要担心内存管理

至少核心必须是C。如果我是他们,我会用C写内核,用java包住android的内核(我想你可以做到),用objective C包住iPhone的内核(我知道你可以做到)。

我不确定,但考虑到很多.lua文件都在愤怒的小鸟应用程序文件夹中,我认为他们在某些方面使用了lua。 但据我所知,LUA不是一种主要语言,只是一种可以用来编写脚本的语言。 也就是说,我也不是obj-c程序员,所以请对我的话持保留态度

后续链接

我一直认为这些开发人员用c/c++编程核心功能,然后使用本机开发工具包将两者联系起来。例如,我知道在android开发中,您可以使用NDK将java包装成c/c++


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

愤怒的小鸟(和其他一些游戏)正在使用C/+++代码和NDK。资料来源:,

为什么它的核心必须是C?C是跨平台的,这意味着你可以为android(如果我理解正确,我不是android程序员)和iPhone编译它。我修改了我的答案。对于android,答案是肯定的-你可以用C语言制作一个内核,并用JNI包装它,以便能够从Java(android sdk)使用它。Java除了语法的某些方面之外,根本不是基于C的。我指的是语法,抱歉,如果不清楚的话,我已经在编写android应用程序了,也许我应该这么说。我不确定它是纯Java还是其他什么。感谢您给出了明确的答案。-1:在这两种平台上,本机开发都是可能的,有时是唯一的解决方案,可以使某些特定复杂/资源匮乏的游戏适合硬件。@Robb Objective C如果使用iOS SDK,使用垃圾收集,所以你不必担心释放内存…这就是我一直在寻找的。唐卡!《愤怒的小鸟》使用Lua的另一个参考资料是本文中的视频,它是Lua,而不是Lua:),这是一个蹩脚的链接,与源文件的主题相同。