2

我在我的 Kobold2d 2.0.3(cocos2d-iphone v2.0 和 OpenGL ES 2.0)游戏中使用Gilles Lesire 的 CCMask 类,但调用“createMaskForObject:withMask:”时出现以下错误:

-[CCRenderTexture initWithWidth:height:pixelFormat:depthStencilFormat:] : cocos2d: 警告。CCRenderTexture 在它自己的线程上运行。确保在这个线程上使用了 OpenGL 上下文!

我不太了解如何使用线程/opengl,但我希望有人知道如何解决这个问题。

4

1 回答 1

3

对于 cocos2d 2.0,我也看到了这一点。我不认为有什么可以解决的。如果您查看 CCRenderTexture.m 的第 81 行,您将看到:

if( [director runningThread] != [NSThread currentThread] )

如果这是错误的,则会发出警告。

但是,如果您在游戏/应用程序运行之前创建纹理,CVDisplayLink 的后台线程看起来还没有创建。[director runningThread](CVDisplayLink 的线程)返回 nil。因此,“如果”陈述将永远是错误的。

于 2013-01-20T13:26:38.733 回答