将 SceneKit 示例代码转换为 Swift 后的奇怪错误 3
Strange errors after converting SceneKit sample code to Swift 3
我下载了 Apple 的 SceneKit 示例代码 (fox.swift) 并在 Xcode 8 beta 6 上打开了它。
它要求我将代码转换为 Swift 3,我照做了。
当我尝试 运行 我的 phone 上的代码时,我收到错误消息:
Value of type ‘SCNNode’ has no member ‘run’
Value of type ‘SCNNode’ has no member ‘add’
发生错误的示例行:
cameraYHandle.run(actionY)
self.cameraYHandle.add(cameraYAnimation, forKey: nil)
这引出了三个问题:
1) 'run' 和 'add' 函数是否在 Swift 3 的 SCNNode 上消失了?
2) 如果是这样,我应该用什么替换它们?
3) 如果是,如果是,为什么 Xcode 的转换器没有处理它们?
感谢您的宝贵时间:)
PS.: 使用 Xcode 7.3.
运行 非常适合 Mac
正如丹评论的那样,这些翻译产生了没有错误的代码:
run
=> runAction
add
=> addAnimation
play
=> playAudio
所以,
cameraYHandle.run(actionY)
变为 cameraYHandle.runAction(actionY)
等等。
谢谢你,丹。
我下载了 Apple 的 SceneKit 示例代码 (fox.swift) 并在 Xcode 8 beta 6 上打开了它。 它要求我将代码转换为 Swift 3,我照做了。
当我尝试 运行 我的 phone 上的代码时,我收到错误消息:
Value of type ‘SCNNode’ has no member ‘run’
Value of type ‘SCNNode’ has no member ‘add’
发生错误的示例行:
cameraYHandle.run(actionY)
self.cameraYHandle.add(cameraYAnimation, forKey: nil)
这引出了三个问题:
1) 'run' 和 'add' 函数是否在 Swift 3 的 SCNNode 上消失了?
2) 如果是这样,我应该用什么替换它们?
3) 如果是,如果是,为什么 Xcode 的转换器没有处理它们?
感谢您的宝贵时间:)
PS.: 使用 Xcode 7.3.
运行 非常适合 Mac正如丹评论的那样,这些翻译产生了没有错误的代码:
run
=> runAction
add
=> addAnimation
play
=> playAudio
所以,
cameraYHandle.run(actionY)
变为 cameraYHandle.runAction(actionY)
等等。
谢谢你,丹。