Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift:将移动速度更改为SKAction_Swift_Skaction - Fatal编程技术网

Swift:将移动速度更改为SKAction

Swift:将移动速度更改为SKAction,swift,skaction,Swift,Skaction,我有一个简单的精灵动作,我用下面的一行触发: actionMove = SKAction.moveTo(CGPoint(x: size.width + CGFloat(KUGELWIDTH / 2), y: yPos), duration: NSTimeInterval(actualDuration)) 然后我以以下方式调用runAction: let actionMoveDone = SKAction.removeFromParent() kugel.runAction(SKA

我有一个简单的精灵动作,我用下面的一行触发:

   actionMove = SKAction.moveTo(CGPoint(x: size.width + CGFloat(KUGELWIDTH / 2), y: yPos), duration: NSTimeInterval(actualDuration))
然后我以以下方式调用
runAction

  let actionMoveDone = SKAction.removeFromParent()
  kugel.runAction(SKAction.sequence([actionMove, actionMoveDone]))

我困惑的是,在运行期间,正在改变<代码> Skase<代码>的速度(持续时间)。这可能是不可能的,在这种情况下,是否有另一种方法来调用一个精灵在我的<代码>场景>代码>中,我可以在它的运动中间改变精灵的速度?p> 您不能更改动作本身的速度,因为

SKAction
对象是“激发并遗忘”的,并且是可重用的-一旦您将一个对象传递给节点的
runAction
方法,您对该动作实例所做的操作将不再影响节点运行该动作所做的操作

但这里还有一些其他选择

  • 更改正在设置动画的节点的属性。您可以直接执行此操作,也可以通过运行或操作来执行此操作。此属性是一个乘数,用于更改节点运行附加到它的任何和所有操作的速度,因此您可以将其设置为低于
    1.0
    以减慢正在发生的任何事情,或高于
    1.0
    以加快速度

  • 使用周期性运行块的控制器更直接地控制节点;在该块中,您可以直接设置节点的位置,并且可以检查外部状态以确定是否在每个时间间隔或多或少移动模式

  • 在场景(或场景代理)循环期间直接控制节点的位置,此时可以控制每帧的移动量


  • 您不能更改动作本身的速度,因为
    SKAction
    对象是“触发并忘记”的,并且是可重用的-一旦您将一个对象传递给节点的
    runAction
    方法,您对该动作实例所做的操作将不再影响节点运行动作所做的操作

    但这里还有一些其他选择

  • 更改正在设置动画的节点的属性。您可以直接执行此操作,也可以通过运行或操作来执行此操作。此属性是一个乘数,用于更改节点运行附加到它的任何和所有操作的速度,因此您可以将其设置为低于
    1.0
    以减慢正在发生的任何事情,或高于
    1.0
    以加快速度

  • 使用周期性运行块的控制器更直接地控制节点;在该块中,您可以直接设置节点的位置,并且可以检查外部状态以确定是否在每个时间间隔或多或少移动模式

  • 在场景(或场景代理)循环期间直接控制节点的位置,此时可以控制每帧的移动量


  • 用物理代替行动:

    设置到达目的地的速度

    在目的地创建关节,将对象连接到目的地,并具有阻尼和响应频率。您可以在到达时设置,也可以在开始时设置。初始设置,频率足够高,您无需设置初始速度,它将被“吸引”到目的地,足以为您制作所有动画


    在旅程的任何一点,你都可以调整频率,并对移动的物体施加其他力,使其减速或加速。

    用物理代替动作:

    设置到达目的地的速度

    在目的地创建关节,将对象连接到目的地,并具有阻尼和响应频率。您可以在到达时设置,也可以在开始时设置。初始设置,频率足够高,您无需设置初始速度,它将被“吸引”到目的地,足以为您制作所有动画


    在旅程中的任何一点上,您都可以调整频率并对移动对象施加其他力以使其减速或加速。

    “更改正在设置动画的节点的速度属性”-这是否意味着可以在更新()中以弯曲速率更改速度属性,并创建非常时髦的坡道,测量和利率变化的影响?@困惑:我相信是的。试试看!非常感谢。潜力展现。。。现在编码。。。十年左右,当我发现如何利用它时,我会向你汇报。“更改正在设置动画的节点的速度属性”-这是否意味着速度属性可以在更新()的每一帧中以弯曲的速率更改,并创建非常时髦的渐变、测量和速率更改效果?@困惑:我相信是这样。试试看!非常感谢。潜力展现。。。现在编码。。。当我发现如何利用它的时候,我会在大约十年后报告。你能举个例子吗?你能举个例子吗?