2012-04-12 10 views
3

だから、cocos2dでプリミティブを使用して円の形を作成し、それをスプライトとして使用したいのですがどうしたらいいですか? 私はこのようなものを使用しなければならないことを知っている:cocos2d円の形を作成してスプライトとして使用

glLineWidth(16); glColor4ub(0, 255, 0, 255); drawCircle(ccp(s.width/2, s.height/2), 100, 0, 10, NO); をしかし、私はそれがどのように動作するかを理解することは難しいとどのようにあなたが本当にCCSpriteインスタンスを必要としない

答えて

4

スプライトとして使用するには?あなたはCCNodeのサブクラスを作成することができ、その中には

- (void) draw 

メソッドがあります。それを持っています、あなたのサークルには、中心位置(0.f、0.f)

@implementation MyScene 

- (void) onEnter 
{ 
    [super onEnter]; 
    CCNode* myNode = [MyNodeSubclass node]; 
    [node setPosition: someRandomPosition ]; 
    [self addChild: node]; 
} 

@end 

@implementation MyNodeSubclass 

- (void) draw 
{ 
    glColor4f(255, 255, 255, 255); 
    CCPoint center = ccp(0.f, 0.f); 
    CGFloat radius = 10.f; 
    CGFloat angle = 0.f; 
    NSInteger segments = 10; 
    BOOL drawLineToCenter = YES; 

    ccDrawCircle(center, radius, angle, segments, drawLineToCenter);  
} 

@end 

は、Xcodeのからコピーしなかった、ちょうどここのコードのこの作品を書いたのですが、あなたが望むようには動作するはずです。 ccDrawCircleはCCDrawingPrimitives.hで宣言されたcocos2d関数です

+0

私はそれを知っていますが、私は次のものを望んでいます:) –

+0

CCNodeではなくCCSpriteインスタンスがなぜ必要なのか説明できますか?多分私はあなたが解決策を見つけるのを助けることを試みることができます – Morion

+0

私はCCNodeをしたい、私はする必要があることを知っている - (空)描画しかし、私の問題は、私のシーンで作成されたサークル。私の英語のために申し訳ありませんフランス語:) –

関連する問題