SCNAction没有开火

时间:2015-04-17 17:34:39

标签: ios swift animation scenekit

即使编译器到达,我的SCNAction也不起作用。这是我创建SCNAction

的代码
println("log 1") //to check the program gets there
let moveInit1: SCNAction = SCNAction.moveTo(SCNVector3Make(0, -3, 0), duration: 1)
moveInit1.timingMode = SCNActionTimingMode.EaseOut
cube.runAction(moveInit1)
println("log 2") //check again

输出为log 1以及log 2,但没有动画发生......

有谁知道为什么?

注意

我在另一种方法中使用了完全相同的代码,它确实有效。

2 个答案:

答案 0 :(得分:4)

我不知道为什么你的代码不能正常工作,但这段代码对我有用。

var node = SCNNode.new()
node.geometry = SCNSphere(radius: 1)
var action = SCNAction.moveTo(SCNVector3Make(0, 3, 0), duration: 1)
action.timingMode = SCNActionTimingMode.EaseOut
node.runAction(action)

答案 1 :(得分:0)

好的,我发现了问题。当我全局创建节点时(因此它可用于多种方法)我将其设置为let。我在var方法中重新定义了setup()节点,Xcode没有抱怨,显然我有两个不同的节点同名。
第一个节点(常量节点)不包含我在setup()中所做的所有配置。

这就是造成问题的原因,它现在运行得很完美:)