2010-12-06 9 views
0

Cocos2dの行をどのようにストロークするのですか?ストロークをスプライトに変換することは可能ですか?Cocos2dのストローク

答えて

2

「描画」メソッドをオーバーライドすることで線を描くことができます。これにより、「線」効果が後に出現するようになります。質問は少し欠けているので、私はそれを最大限に活用しようとします。

あなたが次のことを行うことができ、あなたは、画面上の簡単なラインを描きたいとしましょう:

@interface MyLine: CCNode 
{ 
    CGRect lineRect; 
} 
@property(nonatomic) CGRect lineRect; 
+(id)lineWithRect:(CGRect)rect; 
@end 

@implementation MyLine 
@synthesize lineRect 
+(id)lineWithRect:(CGRect)rect 
{ 
    MyLine *node = [MyLine node]; 
    [node setRect: rect]; 
    return node]; 
} 
-(void)draw 
{ 
    glEnable(GL_LINE_SMOOTH); 
    ccDrawLine(ccp(rect.origin.x, rect.origin.y), ccp(rect.size.width, rect.size.height)); 
} 
@end 

このクラスでは、あなたが呼び出すことができると思います:

MyLine *line = [MyLine lineWithRect:CGRectMake(0, 0, winSize.width, winSize.height)]; 

画面の左下から画面の右上に線を引く。

これは不要なので、これを "スプライト"に変換することはできませんが、これをゲーム内の他のグラフィックであるかのように扱うことができます。これは今ではCCNodeの独自のサブクラスです...それに伴うすべての良さを含んでいます(ポジショニングなど)。

関連する問題