关于cocos2d和cocos2dx,还有iOS上的cocos2d的ARC问题

来源:互联网 发布:golang面试题 编辑:程序博客网 时间:2024/04/30 13:20

好吧,我承认这个我花了N个小时所做的努力都白费了。

事情的开始是这样的,今天在写cocos2dx的时候,测试发现总是出现溢出的问题,总是在main.m的autorelease报错。(好吧,如果我以后发现这还不是溢出的问题的话,一斤狗粮)作为有轻度强迫症的我来说,一直报错不能忍,于是开始找各种ARC的办法。(关于ARC,是Automatic Reference Counting,就是iOS5给我们广大程序猿的一个友好功能,不用再写retain,release了哈,比给俺们发钱还要开心哈~) 开始找找找,一篇教程,失败了,继续,第二篇,失败了,第三篇,怎么找的教程都差不多啊,怎么都失败呀,肯定是我的打开方式不对。。。下午4点到现在是8点。卧槽,坑爹啊,我才发现了我找的教程都是cocos2d的,我写的是cocos2dx。我了个大艹。好吧,这也算我打自己的脸了,我自己写的一直都是C++的cocos2dx,一直写一直写我都忘了我是来写OC的了。。。

好吧,废话了这么久,说一下正事吧。

关于cocos2d和cocos2dx,其实这两个是同一个引擎,是最近的一个很火热的2d游戏引擎,著名的捕鱼达人就是用这个引擎编写的。这是一个基于OpenGL的2d游戏引擎,刚开始的时候是用python写的,开始的时候叫做Los Cocos,后来改名为Cocos2d,并应用于iOS的游戏开发。然后因为各种需要,就开发了Cocos2dx,移植到了C++上,支持了基本上所有的平台,并由此得到了快速的发展。
所以说cocos2d和cocos2dx就是一个语言上的区别,前者是专门为iOS开发的,用的是oc,后者是多平台的,用的是C++。

而我一直写的都是cocos2dx,我竟然没发现这是基于C++的程序,不能那样直接支持ARC。好吧,打脸了。

不过我还是把我找到的好的cocos2d支持ARC的教程给留下来了,等以后转到iOS开发的时候肯定用得到。

 

让cocos2d支持ARC总共是两种方法

1.静态库导入,支持2.1的版本

http://book.51cto.com/art/201305/392915.htm

还有一个英文原版的

http://www.icodeblog.com/2011/04/07/creating-static-libraries-for-ios/

 

2.直接导入

http://www.cnblogs.com/lovecode/archive/2011/12/10/2283269.html

详细版本:

http://blog.sina.com.cn/s/blog_4b55f6860100w5yz.html

还有一个无敌简略版本,不知道行不行啊

http://blog.csdn.net/songrotek/article/details/8899968

同样的英文原版

http://www.tinytimgames.com/2011/07/22/cocos2d-and-arc/