如何在没有密钥的情况下暂停或停止.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()
一起使用。
如何阻止它?
在此先感谢:)
答案 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)