Objective-C 游戏编程

我正在开始编程游戏(针对iPhone),我会很高兴了解更多相关信息。

从我所见,我可以选择三种不同的方法:

1)Kobold 2D上的Lua
2)Cocos 2d
3)基本的UIKit

它们的真正区别是什么?对于那些已经尝试过它们的人来说,为什么我应该选择一种技术而不是另一种?

你知道哪种风格被大多数游戏选择,比如:愤怒的小鸟,水果忍者,Ruzzle,画一画,糖果传奇,欢乐好友,神庙逃亡,四张图片一个词,歌曲流行,趣味跑步等等。

还有其他编程游戏到iPhone的方法吗?例如,我没有提到的其他套件或API?

谢谢。

点赞
用户2012725
用户2012725

Cocos2D

Cocos2D是一个正式的2D游戏引擎。你可以在网络上找到很多教程资源。如果你需要在游戏世界中进行物理模拟或精确碰撞,你还可以使用box2d或chipmunk物理引擎与Cocos2D一起使用。不过,要注意有两个版本的Cocos2D,一个使用openglES 1.0,适用于旧款iOS设备,另一个使用OpenGL ES 2.0,并支持着色器。此外,还有一个名为Cocos2D-x的Cocos2D变体,它是用C++编写的。所以如果你计划进行跨平台开发,建议使用Cocos2D-x。不过要注意,Cocos2D-x的教程不如Cocos2D丰富。

Kobold2D

Kobold2D实际上应该是Cocos2D的扩展和改进版,作为Cocos2D的包装器,让创建游戏比在Cocos2D中更加简单。然而,这更可能是Kobold2D作者的个人看法。我个人没有尝试过,但我相信它会给我带来更多的头痛,因为我已经开始领悟开发游戏的思路了。此外,网络上关于Kobold2D的教程数量也较少。

Basic UIKIT

呃。。。这是你最难做出的选择。UIKIT由OPENGL ES和QuartzCore框架组成,并使用这些来在场景中绘制你的游戏。所以,它不是一个游戏引擎。如果你选择UIKIT,你将需要从头开始重新实现很多东西,如渲染纹理、管理场景、处理精灵和资源。

显然,渲染并不是游戏所要做的唯一事情。如果你选择UIKIT,你还需要找到解决碰撞(例如球拍碰到球时)和用户交互(例如玩家如何通过触摸屏幕控制游戏)的解决方案。所以,我的建议是远离UIKIT,从Cocos2D开始。它会让你的生活变得足够简单,让你有自由和思考的空间,同时也足够复杂。

2013-09-02 10:07:45
用户2679796
用户2679796
  • Lua 和 Objective-C 是两种不同的编程语言,但可以使用 Wax api 在 Objective-C 中使用 Lua。
  • Kobold2d 是 cocos2d 的扩展版本,但我还没有尝试过,所以不能说太多。
  • cocos 是一个帮助你绘制线条,使用碰撞等的包装程序。
  • Unity 最常用于 3D 游戏。
  • OpenGL 更原始,你必须自定义一切,它更强大,但需要更多的工作量。

它们都可以说是包装框架,因为它们包括了一些你通常需要自己编写的不同功能,以帮助你编写游戏。Unity 通常用于 3D 游戏,OpenGL 用于较大的项目,但需要更多的工作量。如果你想做一个简单的 2D 游戏,真正的选择在 Lua(通过 Wax api)、Kobold 和 cocos 之间。

个人而言,我更喜欢 Kobold,因为它仍然是 Objective-C(Lua 只能通过 Wax 使用),但仍然有许多有用的函数,并使用 ARC(cocos 不支持)。但请尝试看看其他程序员给出的不同建议。

我不知道哪个是最好的选择,但我知道《愤怒的小鸟》是用 Lua(这是一个跨平台编程语言)制作的。

阅读更多信息,请查看以下链接 http://www.learn-cocos2d.com/2011/08/comparison-lua-scripting-corona-sdk-wax-kobold2d/

http://www.kobold2d.com/display/KKSITE/_Kobold2D+vs+Cocos2D+Comparison+Chart

2013-09-02 10:47:47