我正在使用Gilles Lesire's CCMask class在我的 Kobold2d 2.0.3(cocos2d-iphone v2.0 和 OpenGL ES 2.0)游戏中,但调用“createMaskForObject:withMask:”时出现以下错误:
-[CCRenderTexture initWithWidth:height:pixelFormat:depthStencilFormat:]:cocos2d:警告。 CCRenderTexture 在其自己的线程上运行。确保该线程正在使用 OpenGL 上下文!
我不太明白如何使用线程/opengl,但我希望有人知道如何解决这个问题。
最佳答案
我在 cocos2d 2.0 中也看到了这一点。我认为没有什么可以解决的。如果您查看 CCRenderTexture.m 的第 81 行,您将看到:
if( [director runningThread] != [NSThread currentThread] )
如果这是错误的,则会发出警告。
但是,如果您在游戏/应用程序运行之前创建纹理,则 CVDisplayLink 的后台线程看起来尚未创建。 [director runningThread](CVDisplayLink 的线程)返回 nil。所以“if”语句永远是假的。
关于cocos2d-iphone - CCMask 和线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12085408/