Ios7 在移动的SKNode上的节点上使用SKAction follow path不起作用

Ios7 在移动的SKNode上的节点上使用SKAction follow path不起作用,ios7,ios8,sprite-kit,Ios7,Ios8,Sprite Kit,如果这不合理,很抱歉,下面是一段示例代码: 场景m 发生的情况是,路径位于屏幕下半部分,背景图像的其余部分位于该部分。这是一个锚定问题,一个位置问题吗?如果我旋转背景节点,事情会变得一团糟,但即使在这种简单的情况下,路径也不会像我预期的那样工作。您可以添加一个节点,作为另一个移动节点的子节点跟随路径。应用程序中的节点没有按照预期的路径运行的原因是它是一个SKShapeNode,它与followPath SKActions不兼容。如果将形状节点更改为SKSpriteNode,则该节点将按照预期的路

如果这不合理,很抱歉,下面是一段示例代码:

场景m


发生的情况是,路径位于屏幕下半部分,背景图像的其余部分位于该部分。这是一个锚定问题,一个位置问题吗?如果我旋转背景节点,事情会变得一团糟,但即使在这种简单的情况下,路径也不会像我预期的那样工作。

您可以添加一个节点,作为另一个移动节点的子节点跟随路径。应用程序中的节点没有按照预期的路径运行的原因是它是一个SKShapeNode,它与followPath SKActions不兼容。如果将形状节点更改为SKSpriteNode,则该节点将按照预期的路径运行

    self.anchorPoint = CGPointMake(0.5, 0);
    background = [SKSpriteNode spriteNodeWithImageNamed:@"background.png"];
    center = [SKSpriteNode spriteNodeWithImageNamed:@"center.png"];

    [self addChild:background];
    [background addChild:center];

    float xpos = 0;
    float ypos = 20*20;

    SKShapeNode *block = [SKShapeNode shapeNodeWithRect:CGRectMake(xpos, ypos, 20, 20)];
    block.fillColor = [SKColor blueColor];
    block.name = @"block";

    [background addChild:block];

    CGMutablePathRef path = CGPathCreateMutable();
    CGPathMoveToPoint(path, NULL, xpos, ypos);
    CGPathAddCurveToPoint(path, NULL, 0, 0, xpos + 100, ypos / 2, 0, 0);

    SKAction *followline = [SKAction followPath:path asOffset:YES orientToPath:YES duration:10];
    [block runAction:followline];