0
Cocos2dの行をどのようにストロークするのですか?ストロークをスプライトに変換することは可能ですか?Cocos2dのストローク
Cocos2dの行をどのようにストロークするのですか?ストロークをスプライトに変換することは可能ですか?Cocos2dのストローク
「描画」メソッドをオーバーライドすることで線を描くことができます。これにより、「線」効果が後に出現するようになります。質問は少し欠けているので、私はそれを最大限に活用しようとします。
あなたが次のことを行うことができ、あなたは、画面上の簡単なラインを描きたいとしましょう:
@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の独自のサブクラスです...それに伴うすべての良さを含んでいます(ポジショニングなど)。