CCMask和线程

时间:2012-08-23 05:43:14

标签: cocos2d-iphone nsthread kobold2d

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

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

我真的不明白如何使用threads / opengl,但我希望有人知道如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

我也看到了cocos2d 2.0。我认为没有什么可以解决的。如果你看一下CCRenderTexture.m的81行,你会看到:

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

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

但是,如果您在游戏/应用程序运行之前创建纹理,则CVDisplayLink的后台线程看起来不像它已创建。 [director runningThread](CVDisplayLink的线程)返回nil。所以“if”语句总是错误的。