2013-12-12 3 views
1

У меня есть CGMuatbleCGPathRef, и я пытаюсь создать путь ref для перемещения моего иностранца. Я сохраняю это просто сейчас, но позже они будут сложными.следовать пути для SKAction не работает

У меня есть код для перемещения SpriteNode в одну точку, но он никогда не перемещается. Может кто-то указать, что я делаю неправильно? У меня есть действие анимации, выполняющееся на нем с повторным действием.

метод называется первым, чтобы начать анимацию текстуры кадров (работы)

-(void)walkingBear 
{ 
//This is our general runAction method to make our bear walk. 
[spaceMosquito runAction:[SKAction repeatActionForever: 
        [SKAction animateWithTextures:moqFrames 
            timePerFrame:0.4f 
             resize:NO 
             restore:YES]] withKey:@"walkingInPlaceBear"]; 
return; 
} 

Действие двигаться инопланетянин

-(void) normalStance { 
CGMutablePathRef cgpath = CGPathCreateMutable(); 
CGPoint endPos = CGPointMake(300, 600); 
CGPoint startPos = CGPointMake(700, 900); 

CGPathMoveToPoint(cgpath, nil, startPos.x, startPos.y); 
CGPathMoveToPoint(cgpath, nil, endPos.x, endPos.y); 

[spaceMosquito runAction:[SKAction followPath:cgpath duration:5.0f ] withKey:@"moveme"]; 
CGPathRelease(cgpath); 

}

+1

ли метод normalStance работает a) никогда или b) каждый кадр? – LearnCocos2D

+0

Нормальная позиция работает многократно, я выяснил свою проблему. Спасибо за помощь! –

ответ

2

Вы не создаете путь в вашем коде ! Вы просто перемещаете начало пути от начальной точки до конечной точки, но путь не создается.

Заменить второй вызов CGPathMoveToPoint на CGPathAddLineToPoint Создает линию, по которой может следовать ваш спрайт.

+0

Ты так прав. Я не понимал фактический путь, который я называю функциями CGPathAddXXX. –

 Смежные вопросы

  • Нет связанных вопросов^_^