在 sceneKit
的示例项目中,我试图让相机看向我从中心偏移的船对象。但出于某种原因,我无法做到这一点。
我使用下面的代码来查看这艘船。但它仍然给出错误:
Could not find an overload for init.
我正在使用 swift 进行编码。
cameraNode.constraints = SCNLookAtConstraint(ship)
请帮忙。谢谢。
最佳答案
我在自动完成中看到以下内容,看起来很有希望:
这是 ObjC 工厂方法 +lookAtConstraintWithTarget:
的 Swift 形式。
通常,有三种简单的方法可以找出 ObjC 工厂方法(如 +[NSFoo fooWithBar:]
)如何转换为 Swift 初始化程序(如 init(bar:)
,您使用语法 NSFoo(bar: heresABar)
调用它:
- 在 Swift 文件中输入类名,打开括号,自动完成应该会显示可接受的初始化程序集
- 将类名键入 Swift 文件并按住命令键单击它以查看为该类自动生成的 Swift 接口(interface)(基于 ObjC header ),包括初始化程序声明
- 查看 documentation for a class在线或在 Xcode 中,您将看到每个 API 的 ObjC 和 Swift 声明。
关于xcode - SceneKit SCNLookAtConstraint 无法重载 init,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26783072/