2013年六月,Cocos3D的版本是0.7.2,它只兼容Cocos2D 1.x,所以你不能享受Cocos2D 2.x使用ARC带来的便利。但是有一个方法可以让你使用Cocos3D的同时也可以用ARC。首先下载一个资源包(http://download.csdn.net/download/jimoduwu/5601491),该资源包包含了Cocos2D 1.0.1和Cocos3D 0.7.2,但是为了可以使用ARC,有几个文件被修改过。修改方法参考了:http://www.cnblogs.com/dqshll/archive/2012/08/27/2658303.html
使用方法:
1)新建一个Single View Application,使用ARC,StoryBoard用不用都可以。
2)解压并添加刚刚下载的资源包到工程中(直接拖cocos3d和libs的文件夹到工程,复制文件,不要引用)。
3)在Link Binary With Libraries中添加AudioToolbox.framework,AVFoundation.framework,OpenAL.framework,OpenGLES.framework,QuartzCore.framework.
4)在Build Setting中搜索“Other Linker Flags”,并给它添加值“-lz”。
5)在Build Phases中的Compile Sources,选中所有的Cocos2d&3d 的.m文件,回车,输入“-fno-objc-arc”。这样标记后,所有Cocos2d&3d的文件就不会被ARC检查。
至此,Cocos3D可以在ARC的工程中Run了,接下来就是在xib或者StoryBoard中拖进去一个UIView并使用Cocos3D的View,以下仅供参考
6)
if( ! [CCDirector setDirectorType: kCCDirectorTypeDisplayLink] )
[CCDirector setDirectorType: kCCDirectorTypeDefault];
CCTexture2D.defaultAlphaPixelFormat = kCCTexture2DPixelFormat_RGBA8888;
EAGLView *glview = [EAGLView viewWithFrame:CGRectMake(34, 75, 249, 239)];
[MyUIView addSubview:glview];
CCDirector *director = CCDirector.sharedDirector;
director.animationInterval = (1.0f / 60);
director.displayFPS = YES;
[director setOpenGLView:glview];
[director enableRetinaDisplay: YES];
CC3Layer* cc3Layer = [TestCocos3DLayer node];
[cc3Layer scheduleUpdate];
cc3Layer.cc3Scene = [TestCocos3DScene scene];
CC3ControllableLayer* mainLayer = cc3Layer;
[director runWithScene:mainLayer];