Cocos2d中的中风

时间:2010-12-06 07:45:58

标签: cocos2d-iphone

如何在Cocos2d中描边线?是否可以将笔画转换为精灵?

1 个答案:

答案 0 :(得分: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子类。 ..包含随之而来的所有善良(定位等)。