首页 文章

停止/暂停.runActionForever() SCNAction

提问于
浏览
2

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

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

...and 如何使用:

node.runAction(SCNAction.repeatActionForever(turnAction))

我尝试了什么

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

我怎么能阻止它?
在此先感谢:)

3 回答

  • 9

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

    SCNNode.runAction(SCNAction, forKey: String)
    

    方法。

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

    SCNNode.removeAction(forKey: String)
    
  • 1

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

    node.removeAllActions()
    
  • 0

    你只需给节点另一个动作,前一个动作就停止了。你可以说你的节点旋转 0(所以什么也没发生)。做类似的事情:

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

相关问题