2010-12-06 56 views

回答

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的子类包含所有随之而来的好处(定位等)。