Sprite kit 更新动画时运行路径后面的SKAction

Sprite kit 更新动画时运行路径后面的SKAction,sprite-kit,skaction,Sprite Kit,Skaction,我用的是雪碧套装。我需要我的角色在更新动画时沿路径移动。例如,我想在skspritenode开始向左移动时将跑步动画更改为面向左的跑步动画 我尝试了许多序列、运行块等的组合,但都不起作用。任何建议。伪代码如下: //run initial run animation //get array of points to move to //load skactions into an array //upon completion of an skaction re-evaluate whi

我用的是雪碧套装。我需要我的角色在更新动画时沿路径移动。例如,我想在skspritenode开始向左移动时将跑步动画更改为面向左的跑步动画

我尝试了许多序列、运行块等的组合,但都不起作用。任何建议。伪代码如下:

//run initial run animation
//get array of points to move to
//load skactions into an array 
   //upon completion of an skaction re-evaluate which animation to use.
//repeat

//run sequence of SKActions

谢谢你的帮助。

好的,我想办法了。为了明确我想要的是什么,我想在一个数组中获取一系列点,并通过一个函数运行它们,该函数将移动我的skspritenode,并根据角色需要运行的方向在其上运行动画。以下是我所做的:

//这里的i和j是int类变量,不要问我为什么有两个,但它起作用了,所以我没有改变它

    for (;i<len;i++) {
        [actions_array addObject:[SKAction moveTo:CGPointMake(apath[i].x, apath[i].y) duration:1.0]];
        [actions_array addObject:[SKAction runBlock:^(void){
            j++;
//remove the previous action just in case
                [self removeActionForKey:[NSString stringWithFormat:@"%d",j-1]];
                NSArray* frames = [self returnAnimForMoveToPt:CGPointMake(path_to_goal[j+1].x, path_to_goal[j+1].y)];
                [self runAction:[SKAction repeatActionForever:[SKAction animateWithTextures:frames timePerFrame:1.0/30.0]] withKey:[NSString stringWithFormat:@"%d",j]];
            }]];
            }

    [self run

Action:[SKAction sequence:actions_array] completion:^(void){
                //******movement complete, at location*******!!!!!!!!
                [self goIdle];
//other completion handl
            }];

用于(;I你的角色是一直在运行还是在用户操作后才移动?它们一直在运行。skspritenode有一个坐标数组要跟随。这是我的困难。我找到了如何让它工作的方法。我只是使用递归。在我的函数中,我只是启动动画永远运行,然后执行第一个移动指令(行动)有一个再次调用函数的完成句柄。我有一个静态变量,跟踪我所处的运动阶段。我从类属性nsarray访问我的运动步骤。也许有更好的方法,但现在看来效果不错。我想修改我说的话。虽然我能够运行动画和移动命令,但我们可以我仍然很好奇是否有人知道如何在运行一系列skaction移动指令时更新动画。