"Cannot call value of non-function type 'CGVector'"错误



我目前正在尝试在 Swift 3 上创建一个 Flappy Bird 克隆。我在完成我的"牛"的物理时遇到了一个错误。我得到的错误是"无法调用非函数类型'CGVector'的值"

这是针对学校项目。我已经尝试查看有关该问题的顶级论坛,并在我的数字之前添加dx:dy:

这是收到错误的代码行:

Cow.physicsBody?.velocity(CGVector(dx: 0, dy: 0))

这是我的整个触摸代码开始了:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
Cow.physicsBody?.velocity(CGVector(dx: 0, dy: 0))
Cow.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 60))
}

我希望CGVector能够工作。总而言之,我正在使用 Swift 3,并且在 Flappy Bird 克隆的物理代码中收到此错误。

请阅读文档:

与功能applyImpulse不同

函数应用脉冲(_脉冲:CGVector)

velocity是一个属性

var velocity: CGVector { get set }

您必须分配值

Cow.physicsBody?.velocity = CGVector(dx: 0, dy: 0)

或更短

Cow.physicsBody?.velocity = CGVector.zero

或最短

Cow.physicsBody?.velocity = .zero

最新更新