2011-05-05 8 views
0

私はcocos2d-iphone初心者ですし、どんな助けでも大歓迎です。私の問題は、CCTexture2D内でdrawAtPointメソッドを使用しようとしていますが、運がないようです。コードを実行すると、プログラムがdrawAtpoint関数内のglDrawArrays(GL_TRIANGLE_STRIP、0、4)という行に当たると、EXC_BAD_ACCESSランタイムエラーが発生します。CCTexture2D内のdrawAtpoint機能を使用したCocos2D-iphoneのトラブル

以下は、関数をテストするために使用するクラスです。 CCSpriteを拡張し、以下のコードでdrawメソッドをオーバーライドします。私はcocos2dバージョン1.0.0 rc2を実行しています。

#import "Background.h" 

@implementation Background 

-(void)draw 
{ 

    glEnableClientState(GL_VERTEX_ARRAY); 
    glEnableClientState(GL_TEXTURE_COORD_ARRAY); 

    glEnable(GL_TEXTURE_2D); 

    glColor4ub(255, 255, 255, 255); 

    [texture_ drawAtPoint:CGPointZero]; 

    glColor4ub(255, 255, 255, 255); 

    glDisable(GL_TEXTURE_2D); 
    glDisableClientState(GL_VERTEX_ARRAY); 
    glDisableClientState(GL_TEXTURE_COORD_ARRAY); 
    [super draw]; 
} 

@end 

答えて

0

これは、変数texture_が設定されていないか、無効であることを示しています。

ここで、変数は正しく設定されていることを確認しましたか?

+0

ありがとうございました!私はそれを確認し、テクスチャが検証されているかどうかを確認します。 – Doormat23

+0

私はそれを今すぐ舐めるようにしました。私は 'glBindTexture '行を追加する必要がありました。 (GL_TEXTURE_2D、[texture_ name]); 'を描画関数に渡します。正しい方向に私を指してくれてありがとう! – Doormat23

+0

CCTexture2D -drawAtPoint:glBindTextureを呼び出し、描画関数から呼び出す必要はありません。 –

関連する問題