2011-12-16 81 views
12

我正在使用Xcode 4.2并为iphone构建游戏(从iOS 3.0 - 5.0)。 cocos2d是否支持ARC?需要对以前版本中编写的代码进行哪些修改?cocos2d是否支持ARC?

如果我使用强和弱的变量关键字并将编译器设置为LLVM GCC 4.2,结果如何?是否有必要将编译器更改为3.0以支持ARC?

回答

10

Cocos2d v1.1和v2.0与ARC兼容。然而,cocos2d代码本身并不使用ARC,也没有可用于使用ARC开始编程的cocos2d提供的模板。您需要自己为cocos2d文件添加一个单独的静态库目标。

正如Ankit指出的,Tiny Tim Games对分叉版本的cocos2d-iphone to make it ARC compatible进行了必要的修改。这些更改已经集成到开发版本中,并应在cocos2d v2.x分支中提供。我自写了tutorial to enable ARC in a cocos2d (2.0) project

有人说,cocos2d本身将被转换为v2.1或v2.2内部使用ARC。

需要注意的是,没有计划在cocos2d v1.x分支中正式支持ARC,因为v1.x行应该与第一代设备和iOS 3.x保持向后兼容。但一般ARC兼容性已添加到v1.1。


Kobold2D fully supports ARC and has it enabled in all 15 template projectsalmost two months now。 Kobold2D使用最新的稳定版本的cocos2d-iphone 1.x和2.x.刚开始一个新的Kobold2D项目,你就可以使用cocos2d和ARC了。

+0

@ LearnCocos2D你为什么不融入一些Kobold2d的与Cocos2d功能(例如与lua脚本)?通过这种方式,您不必将Cocos2d和Kobold2d人员的开发人员分开,我们将获得更高质量的产品,因为更多开发人员将为同一项目做出贡献,并在更短的时间内提供整体质量更好的产品(以及不必关闭我们购买的书籍 - 例如学习Cocos2d for iPhone和iPad游戏开发) – mm24 2012-06-18 12:30:18

2

即使Cocos2d不支持弧,但有两种方法可以将它们一起使用,即通过跨项目引用。你可以通过引用这个来学习如何去做。cocos2d and ARC