Инсульт в Cocos2d - PullRequest
       4

Инсульт в Cocos2d

0 голосов
/ 06 декабря 2010

Как зачеркнуть строку в Cocos2d? Можно ли конвертировать штрих в спрайт?

1 Ответ

2 голосов
/ 27 декабря 2010

Вы можете рисовать линии, переопределив метод «draw», что, в свою очередь, приведет к эффекту «stroke», который вам нужен.Вопрос немного не хватает в деталях, поэтому я постараюсь максимально использовать его.

Допустим, вы хотите нарисовать простую линию на экране, вы можете сделать следующее:

@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.... содержащий в себе все добро, которое приходит с этим (позиционирование и т. д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...