【问题标题】:Using SKAction follow path on a node on an SKNode that moves doesn't work在移动的 SKNode 上的节点上使用 SKAction 跟随路径不起作用
【发布时间】:2014-11-21 02:44:04
【问题描述】:

对不起,如果这没有意义,这里有一个示例代码块:

Scene.m

    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];

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

【问题讨论】:

    标签: ios7 ios8 sprite-kit


    【解决方案1】:

    您可以添加一个跟随路径的节点作为另一个移动节点的子节点。应用程序中的节点未按预期遵循路径的原因是它是 SKShapeNode,它不适用于 followPath SKActions。如果您将形状节点更改为SKSpriteNode,则该节点将按预期遵循路径。

    【讨论】:

      猜你喜欢
      • 2016-06-20
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多