Ios 行动向前推进

Ios 行动向前推进,ios,sprite-kit,skaction,Ios,Sprite Kit,Skaction,如何让SKNode向前移动 我已经能够使用[SKAction moveByX:y:duration:使节点在固定方向上移动,但我希望它在相对于其面对的方向的方向上移动 我希望使每个节点旋转45度,然后向前“行走”50像素 它看起来很简单,我就是找不到它。它会旋转,然后朝你点击的方向旋转 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { for (UITouch *touch in touches) {

如何让
SKNode
向前移动

我已经能够使用
[SKAction moveByX:y:duration:
使节点在固定方向上移动,但我希望它在相对于其面对的方向的方向上移动

我希望使每个节点旋转45度,然后向前“行走”50像素


它看起来很简单,我就是找不到它。

它会旋转,然后朝你点击的方向旋转

-(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.x y:diff.y duration:3.0]
                                ]]];
    }
}
}

我也考虑过这个问题。我想创建一个节点,它在继续之前似乎正在旋转。我考虑过的一种方法是将子节点附加到场景中移动的节点的“最前”部分。然后,我将计算从子节点开始的点击距离。这有意义吗?基本上,我可以从场景中的任意位置点击计算节点的前部