'SCNVector3' 类型的值没有成员 'length'

Value of type 'SCNVector3' has no member 'length'

所以我用 Scenekit 做了一个测试游戏,并使用默认的游戏模板来做。在我的代码中,我将球速设置为 1.0 的恒定速度,以便控制物理行为,如下所示:

var ballNode: SCNNode!
... 
ballNode = gameScene.rootNode.childNode(withName: "Ball", recursively:
        true)!
...
ballNode.physicsBody?.velocity.length = 1.0

这很完美,但是,当我使用“single page application”模板从 xcode 创建一个新游戏模板,并重新创建完全相同的代码并在场景之间进行额外的转换时,我我无法访问 velocity.length.

给出的错误:

Value of type 'SCNVector3' has no member 'length'

我想要的样子:screenshot
怎么样:screenshot

那我错过了什么?我能想到的唯一代码差异是我用来创建游戏的不同模板。

根据您的屏幕截图,您可能已将此 .swift 文件复制到您的项目中

https://github.com/wesmatlock/MarbleMazer/blob/master/MarbleMaze/GameUtils/SCNVector3%2BExtensions.swift

这是我能找到的唯一一个 length 是一个可设置的变量,而不是一个函数,其他函数似乎也匹配。