CCMotionStrike не работает на устройстве, но работает в симуляторе - PullRequest
0 голосов
/ 15 июня 2011

Так что у меня есть последняя версия CCMotionStrike (которая использует ccVertexesLineToPolygon).Он работает, как и ожидалось в симуляторе, но на устройстве он рисует только один сегмент за раз (я должен отпустить касание и перерисовать, тогда он снова будет рисовать только один сегмент)

//init method:
self.isTouchEnabled = YES;
CGSize s = [[CCDirector sharedDirector] winSize];
// create the streak object and add it to the scene
streak = [CCMotionStreak streakWithFade:2 minSeg:5 width:5 color:ccc3(255, 0, 0) image:@"streak.png"];
[self addChild:streak];
streak.position = ccp(s.width/2, s.height/2);

-(void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    CGPoint touchLocation = [touch locationInView: [touch view]];   
    touchLocation = [[CCDirector sharedDirector] convertToGL: touchLocation];
    [streak setPosition:touchLocation];
    isDrawing = true;
}

1 Ответ

0 голосов
/ 26 июня 2011

CCMotionStreak предназначен только для одной полосы ...

РЕДАКТИРОВАТЬ:

Положить isDrawing = true; в ccTouchesBegan и в ccTouchesEnded положить isDrawing = false;

Затем удалите его из ccTouchesMoved

Я сомневаюсь, что это как-то связано с этим, но я всегда ставлю streak.position = ccp(s.width/2, s.height/2); перед [self addChild:streak];

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