【问题标题】:Strange errors after converting SceneKit sample code to Swift 3将 SceneKit 示例代码转换为 Swift 3 后出现奇怪的错误
【发布时间】:2017-01-08 14:01:54
【问题描述】:

我下载了 Apple 的 SceneKit 示例代码 (fox.swift) 并在 Xcode 8 beta 6 上打开它。 它要求我将代码转换为 Swift 3,我照做了。

当我尝试在手机上运行代码时收到错误消息:

“SCNNode”类型的值没有成员“run”

“SCNNode”类型的值没有成员“add”

发生错误的示例行:

cameraYHandle.run(actionY)
self.cameraYHandle.add(cameraYAnimation, forKey: nil)

这引出了三个问题:

1) Swift 3 的 SCNNode 上的“运行”和“添加”功能是否消失了?

2) 如果是这样,我应该用什么替换它们?

3) 如果是,如果是,为什么 Xcode 的转换器没有处理它们?

感谢您的宝贵时间:)

PS.:它在使用 Xcode 7.3 的 Mac 上运行良好。

【问题讨论】:

  • 应该是runAction(actionY)addAnimation(cameraYAnimation, forKey: nil)
  • 谢谢!你说得对,play 也翻译成playAudio

标签: ios xcode swift2 scenekit swift3


【解决方案1】:

正如 dan 评论的那样,这些翻译导致代码没有错误:

run => runAction

add => addAnimation

play => playAudio

所以,

cameraYHandle.run(actionY) 变为 cameraYHandle.runAction(actionY)

等等。

谢谢你,丹。

【讨论】:

    猜你喜欢
    • 2016-02-05
    • 2021-05-07
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    • 2019-07-14
    • 2017-01-08
    • 2021-02-20
    • 1970-01-01
    相关资源
    最近更新 更多