停止/暂停 .runActionForever() SCNAction
Stop / Pause .runActionForever() SCNAction
如何暂停或停止 .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(所以什么也不会发生)。做类似的事情:
nodeName.runAction(SCNAction.rotateByX(0,y:0,z:0), duration: 1)
要使用键添加操作,请使用
SCNNode.runAction(SCNAction, forKey: String)
方法。
现在您可以通过该键删除特定操作
SCNNode.removeAction(forKey: String)
如果要结束并删除节点中的所有操作,只需使用以下代码:
node.removeAllActions()
如何暂停或停止 .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(所以什么也不会发生)。做类似的事情:
nodeName.runAction(SCNAction.rotateByX(0,y:0,z:0), duration: 1)
要使用键添加操作,请使用
SCNNode.runAction(SCNAction, forKey: String)
方法。
现在您可以通过该键删除特定操作
SCNNode.removeAction(forKey: String)
如果要结束并删除节点中的所有操作,只需使用以下代码:
node.removeAllActions()