我在现有应用程序的选项卡中集成了cocos2d场景时遇到了一些麻烦。 我开发了使用cocos2d附带的Xcode模板的场景,它工作正常,但是当我尝试在现有的应用程序上加载相同的场景时,所有出来的都是黑屏。在UIKit应用程序中集成cocos2d
这是我运行代码当我加载链接到标签
-(void)viewDidLoad {
director = [CCDirector sharedDirector]; //declared in the header file
//declared in the header file, sized as whole screen minus the tab bar
coolview = [CCGLView viewWithFrame:CGRectMake(0,0, 320,321) pixelFormat:kEAGLColorFormatRGB56 depthFormat:0 preserveBackbuffer:NO sharegroup:nil multiSampling:NO numberOfSamples:0];
[director setView:coolview];
[self setView:coolview];
[director setAnimationInterval:1.0/60];
[director setDelegate:self];
[director setProjection:kCCDirectorProjection2D];
[director runWithScene:[HelloWorldLayer scene]];
}
任何想法,为什么我应该得到一个黑屏的UIViewController?我错过了什么?
HelloWorld图层中的代码被执行,对象被实例化,但看起来好像它们没有被渲染。
我碰到下面的反馈也:
OpenGL error 0x0501 in -[CCShaderCache loadDefaultShaders] 174
OpenGL error 0x0501 in -[CCTextureAtlas initVAO] 167
OpenGL error 0x0501 in -[CCDirector setView:] 308
OpenGL error 0x0501 in -[CCTextureAtlas initVAO] 167
,但我一直没能找到错误代码的含义。 我使用cocos2d的版本2
预先感谢任何帮助 卢卡
一个小更新:这个问题不会1.0.1版本的发生,与EAGLView更换CCGLView。 所以我认为这可能是这个版本的一个小错误。
不幸的是,我不能切换到1.0.1,因为我需要box2d v2.2的一些功能,只有使用cocos2d v2.0。 我想让box2d v2.2与cocos v1.0.1一起工作,但它变得非常难看!
任何人都知道我可以如何修复它在2.0或至少点我在正确的方向吗?问题在哪里?在CCDirector或CCGLView中?
感谢 卢卡
在你的代码中看起来很腥的一件事是“[director runWithScene:[HelloWorldLayer scene]];” CCLayer没有场景属性。你为什么要把一个CCScene对象放在一个图层中?你的场景中是否有任何东西需要渲染?我在一个测试应用程序中尝试了你的代码,它完美地工作。 – 2012-07-12 17:54:28