在xib,StoryBoard工程中使用Cocos3D的View,并且使用ARC

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];

你可能感兴趣的:(cocos2d,UIView,cocos3d,使用ARC,EAGLView)