SKAction va de l'avant

Comment puis-je get un SKNode pour aller de l'avant?

J'ai réussi à faire bouger le nœud dans une direction fixe en utilisant [SKAction moveByX:y:duration:] mais je veux qu'il bouge dans une direction par rapport à la direction où il se trouve.

Je cherche à faire tourner chaque nœud à 45 degrés puis à "avancer" de 50 pixels.

Il semble assez simple que je ne suis pas capable de le find.

Cela va tourner, puis vers où vous appuyez

 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { for (UITouch *touch in touches) { for (UITouch *touch in touches) { CGPoint location = [touch locationInNode:self]; CGPoint diff = CGPointMake(location.x - _myPlayer.position.x, location.y - _myPlayer.position.y); CGFloat angleRadians = atan2f(diff.y, diff.x); [_myPlayer runAction:[SKAction sequence:@[ [SKAction rotateToAngle:angleRadians duration:1.0], [SKAction moveByX:diff.xy:diff.y duration:3.0] ]]]; } } } 

J'ai aussi pensé à cela. Je veux faire un nœud qui peut sembler tourner avant de continuer. Une façon dont j'ai envisagé de le faire est d'avoir un nœud enfant attaché à la partie «la plus en avant» du nœud qui se déplace dans la scène. Ensuite, je calculerais la distance du robinet à partir du nœud enfant. Cela a-t-il du sens? Essentiellement, je serais capable de calculer l'avant du nœud à partir d'un robinet n'importe où dans la scène.