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] )

それが false の場合、警告が表示されます。

ただし、ゲーム/アプリの実行前にテクスチャを作成している場合、CVDisplayLink のバックグラウンド スレッドはまだ作成されていないように見えます。[director runningThread] (CVDisplayLink のスレッド) は nil を返します。そのため、「if」ステートメントは常に false になります。

于 2013-01-20T13:26:38.733 に答える