即使编译器到达,我的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
,但没有动画发生......
有谁知道为什么?
注意
我在另一种方法中使用了完全相同的代码,它确实有效。
答案 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()
中所做的所有配置。
这就是造成问题的原因,它现在运行得很完美:)