我在現有應用程序的選項卡中集成了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