停止/暂停.runActionForever()SCNAction

时间:2015-04-18 06:42:23

标签: ios swift animation scenekit

如何在没有密钥的情况下暂停或停止.runActionForever()调用的SCNAction?我看到了使用node.removeActionForKey("action")的选项,但我的SCNAction没有密钥。这就是我创建它的方式:

var turnAction = SCNAction.rotateByX(0, y: 1, z: 0, duration: 1)

......以及如何使用它:

node.runAction(SCNAction.repeatActionForever(turnAction))

我尝试了什么

我知道方法node.removeActionForKey("action")但是当我为我的SCNAction创建一个keyValue时,它会获得 void ,并且不能再与.repeatActionForever()一起使用。

如何阻止它?
在此先感谢:)

3 个答案:

答案 0 :(得分:9)

要使用键添加操作,请使用

SCNNode.runAction(SCNAction, forKey: String)

方法

现在您可以通过该键删除特定操作

SCNNode.removeAction(forKey: String)

答案 1 :(得分:1)

如果要结束并删除节点中的所有操作,只需使用以下代码:

node.removeAllActions()

答案 2 :(得分:0)

您只需为节点提供另一个操作,然后停止前一个操作。你可以说你的节点旋转0(所以什么也没发生)。做类似的事情:

nodeName.runAction(SCNAction.rotateByX(0,y:0,z:0), duration: 1)