【问题标题】:follow path for SKAction not working遵循 SKAction 的路径不起作用
【发布时间】:2013-12-12 14:13:00
【问题描述】:

我有一个 CGMuatbleCGPathRef,我正在尝试创建一个路径 ref 来移动我的外星人。我现在保持简单,但以后会很复杂。

我有下面的代码将 SpriteNode 移动到一个点,但他从不移动。有人可以指出我做错了什么吗?我有一个动画动作在他身上运行,也有重复动作。

首先调用的方法来启动动画纹理帧(作品)

-(void)walkingBear
{
//This is our general runAction method to make our bear walk.
[spaceMosquito runAction:[SKAction repeatActionForever:
                  [SKAction animateWithTextures:moqFrames
                                   timePerFrame:0.4f
                                         resize:NO
                                        restore:YES]] withKey:@"walkingInPlaceBear"];
return;
}

移动外星人的动作

-(void) normalStance {
CGMutablePathRef cgpath = CGPathCreateMutable();
CGPoint endPos = CGPointMake(300, 600);
CGPoint startPos = CGPointMake(700, 900);

CGPathMoveToPoint(cgpath, nil, startPos.x, startPos.y);
CGPathMoveToPoint(cgpath, nil, endPos.x, endPos.y);

[spaceMosquito runAction:[SKAction followPath:cgpath duration:5.0f ] withKey:@"moveme"];
CGPathRelease(cgpath);

}

【问题讨论】:

  • normalStance 方法是 a) 从不运行还是 b) 每一帧都运行?
  • 正常站姿反复运行,我发现了我的问题。感谢您的帮助!

标签: ios path sprite-kit skaction


【解决方案1】:

您没有在代码中创建路径!您只是将路径的起点从起点移动到终点,但没有创建路径。

将第二次调用 CGPathMoveToPoint 替换为 CGPathAddLineToPoint 这将创建您的精灵可以遵循的线条路径。

【讨论】:

  • 你说的太对了。我不理解我调用 CGPathAddXXX 函数的实际路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-21
  • 1970-01-01
  • 2019-02-22
  • 2012-07-10
  • 2016-03-18
  • 1970-01-01
  • 2020-09-24
相关资源
最近更新 更多