适用于iPhone的Cocos2d与Cocos2d-x

时间:2011-06-18 22:41:31

标签: iphone cocos2d-iphone cocos2d-x

我曾经使用Cocos2d为iPhone工作,并发现它令人愉快。我正在启动另一个项目,偶然发现了Cocos2d-x,一个C ++端口。我被能够(考虑)一次构建多个平台的想法所吸引。我对Obj-C和C ++同样感到满意,并不是在寻找两种语言之间的比较,除非它与使用Cocos2d特别相关。

有没有人使用这两个版本的引擎,你能评论两者的具体优缺点吗? Cocos2d-x“完成了”吗?可靠?

7 个答案:

答案 0 :(得分:35)

多平台构建的诱惑是变相的噩梦。任何网页设计师都会告诉你恐怖故事,试图用Chrome同时兼顾Chrome浏览器和Chrome浏览器。您不会突然获得更多销售,因为您可以在第一天在Android / iOS /等上启动。更有可能的是,您尝试使用多平台会限制您的应用程序,以便在所有平台上杀死它。您最好的选择是从一个平台开始,完成该平台,然后为其他平台构建。你的最终产品会感谢你。

Cocos2d-x没有任何优点/缺点,除非你比Obj-C更喜欢C ++。

答案 1 :(得分:18)

我同意你应该专注于开发单一平台,直到你有一个好的可靠产品。然而,许多开发人员在事后意识到需要花费多少精力和额外成本才能在新平台上完全重写游戏。稍微提前一点认为您可以最大限度地减少返工的需要,从而在您准备好移植游戏后最大限度地降低成本。 Android的市场份额太大而完全无视它;在我看来,如果你喜欢Cocos2d,可以选择Cocos2d-x。

答案 2 :(得分:9)

我不知道cocos2d-iphone,但我确实知道cocos2d-x

优点:

  • cocos2d-x使用C ++(嗯,对某些人来说不是真正的专业人士,但这对我来说是个专业人士)
  • 假设您已正确设置(见下文)
  • ,您可以轻松部署到不同的平台
  • 它支持Lua和JavaScript,更简单的编码

缺点:

  • cocos2d-x几乎没有文档。您将依赖于测试项目和API参考。感谢上帝,像Nat Weiss这样的人让用户可以轻松学习。 (http://paralaxer.com/cocos2d-x-book/
  • 设置项目以在每个平台上工作是一件麻烦事。您必须擅长多个IDE以及命令行/终端命令
  • 用于创建新项目的库附带的大多数脚本都不是多平台的,这意味着,您仍然必须为所有平台单独设置它
  • 整合第三方SDK,如Facebook,广告和其他内容需要花费大量时间,因为您必须为所针对的每个平台实施它们

答案 3 :(得分:5)

我正在使用cocos2d-x为iphone开发,它对我来说很好用。只有你可能会发现的问题是,api总是略微落后于iphone版的cocos2d。然而,api本身是可靠的,并且在大多数方面都是传真的。

如果您真的想要移植到其他平台,即使您将首先尝试在单个平台上取得成功,cocos2d-x也是可行的方法,因为您无需在其他平台上重写代码的要点语言稍后(即从c ++到objc或从objc到c ++的端口)。

答案 4 :(得分:3)

我只使用Cocos2d和Cocos2d-X进行iPhone开发(目前为止)。我在Cocos2d工作了大约1。5年,并在过去六个月左右的时间里转向了Cocos2d-x。起初,我不愿意进入Cocos2d-x,因为在我看来,它仍然在成熟。 Coco2d 2.0已经发布了很多变化,我知道它已经得到了很好的部署和测试。 Coco2d-x似乎还在不断变化。这已经改变,我决定在持续时间内使用Cocos2d-x,只要它继续得到支持。

一般来说,这两个框架似乎都是广告宣传的,并且为我正在处理的内容提供了良好的性能(您可以看到一些示例here)。

我很适合在Object-C和C ++世界工作。我不知道我是否会将我的“东西”移植到Android上,但是有选择权很好。

然而,对我来说 BIG 决定因素是可重用性。我构建了许多我在其他项目中重用的组件和小部件。如果我只为iOS开发,Objective-C将是最佳选择。但是我主要使用C ++工作,而且每次我想将测试工具从工具箱中取出时,我都不想将所有想法从一种语言重新编写为另一种语言。

我认为这对于您选择用于开发的任何框架都是正确的。如果您有这个选择,请选择能够为您带来最佳效果的选项。

答案 5 :(得分:2)

我目前正在研究cocos2d-x,我对此非常满意。我的建议是在一个平台上启动项目(我更喜欢IOS)。当你在一个平台上成功发布时,从另一个平台开始。

如果您的游戏成功,最后您还必须在其他平台上启动。所以最好提前计划。

答案 6 :(得分:0)

我会坚持使用Cocos2D-iphone。专注于来自更大社区的产品,拥有更多资源。当你准备好移植时,然后在完成后使用apportable编译你的app应用程序。