Cocos2d 2.x,1.x和ARC

时间:2012-06-18 13:10:10

标签: iphone ios memory-management cocos2d-iphone automatic-ref-counting

两个月前开始开发我的第一个游戏时,我选择了Cocos2d v1.01rc而不是2.x.

现在我正在学习更多知识,我意识到ARC完全支持并集成在Cocos2d 2.x中,而在v1.01rc中,我必须决定是否禁用或启用它(参见tinytimgames post)项目或只是Cocos2d文件。

我选择版本1.01,因为我不需要OpenGL ES 2.0功能(see this comparison guide)但现在我发现在Cocos2d 2.x中更好地支持ARC我感觉有点愚蠢,因为它在我看来似乎Cocos2d 2.0是新游戏的前进方向。

请参阅引用:“cocos2d v2.0与v1.1一样,符合ARC标准,但内部不使用ARC。但在某些时候,v2.0将在内部迁移到ARC(cocos2d v2.0使用块在内部,但不是ARC)。“在cocos2d forum post中(它提到了cocos2d v2.0而不是v1.x,所以我假设开发人员的贡献集中在v2.0上,而v1.x将有更少的人来维护它)。 这是正确的吗?这是将Coco2d 2.x用于新项目的一个重要原因!!

我在两个月前开始开发我的游戏,但由于我在学习的同时我很慢,我仍然可以按时移动到2.x.

有什么建议吗?我该怎么办?

  1. 停用ARC

  2. 启用ARC

  3. 转到Cocos2d 2.x

  4. 谢谢!

2 个答案:

答案 0 :(得分:3)

对于新用户,我绝对建议使用ARC(实际上我建议大家使用)。

除非您真的需要支持第1代和第2代设备,否则请转到cocos2d 2.0。在这个细分中你会发现OpenGL ES 1.1 devices market share gets smaller and smaller,现在它几乎可以忽略不计 - 尤其是如果你考虑使用最老的设备测试游戏所需的额外开发时间(等于成本),并可能优化旧设备的性能

以下是一些额外的points to consider choosing between cocos2d 1.x and 2.x。当然还有how to enable ARC in cocos2d。最后,如何不打扰和just start using ARC with Kobold2D(v2.0即将推出)。

答案 1 :(得分:1)

关于禁用或启用ARC,这取决于您对处理自己的内存分配和释放的感觉。

您可能不想使用ARC的唯一原因是您的游戏只能由运行iOS 5及更高版本的设备支持,但是采用率似乎很高,所以我不一定排除使用ARC

被修改

查看cocos2d v2的发行说明,似乎已经解决了许多突出问题,并且增加ARC支持似乎也是有益的。如果我刚开始,我可能会选择最新的稳定版本

此链接应有助于从v1迁移到v2

http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:migrate_to_v2.0