36

我已经使用 Cocos2d for iPhone 进行了一些工作,发现它令人愉快。我正在开始另一个项目,并且偶然发现了 Cocos2d-x,一个 C++ 端口。我被能够(考虑)一次为多个平台构建的概念所吸引。我同样对 Obj-C 和 C++ 感到满意,并且我不会在这两种语言之间进行比较,除非它与使用 Cocos2d 相关。

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

4

7 回答 7

35

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

Cocos2d-x 没有优缺点,除非你更喜欢 C++ 而不是 Obj-C。

于 2011-08-16T05:40:23.617 回答
18

我同意你应该专注于开发单一平台,直到你有一个好的可靠产品。然而,许多开发者在事后才意识到在新平台上完全重写游戏需要付出多少努力和额外成本。预先考虑一下,一旦您准备好移植游戏,您可以最大限度地减少返工需求,从而最大限度地降低成本。Android 的市场份额太大,不能完全忽视它;在我看来,如果你喜欢 Cocos2d,那么 Cocos2d-x 就是你要走的路。

于 2012-01-28T17:07:13.137 回答
9

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

优点:

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

缺点:

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

我正在使用 cocos2d-x for iphone 进行开发,它对我来说工作得很好。您可能会发现的唯一问题是 api 总是稍微落后于 cocos2d for iphone 版本。然而,api 本身是可靠的,并且在大多数方面都是原始的。

如果你认真考虑移植到其他平台,即使你会首先尝试在单个平台上取得成功,cocos2d-x 是要走的路,因为你以后不需要用其他语言重写代码的要点(即从 c++ 移植到 objc 或从 objc 移植到 c++)。

于 2013-06-05T22:15:06.107 回答
3

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

一般来说,这两个框架似乎都像宣传的那样工作,并且为我正在处理的工作提供了良好的性能(您可以在此处查看一些示例)。

我对在 Object-C 和 C++ 世界中工作感到满意。我不知道我是否会将我的“东西”移植到 Android,但很高兴有这个选项。

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

我认为这对于您选择用于开发的任何框架都是正确的。如果您有选择,请选择今天和未来都能为您带来最大收益的选项。

于 2013-10-06T01:24:26.337 回答
2

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

如果你的游戏成功了,最后你也必须在另一个平台上发布。所以最好提前计划。

于 2013-10-07T10:14:02.213 回答
0

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

于 2013-05-30T10:50:15.777 回答