Ошибка «Невозможно вызвать значение нефункционального типа« CGVector »» - PullRequest
0 голосов
/ 11 января 2019

В настоящее время я пытаюсь создать клон Flappy Bird на Swift 3. Я столкнулся с ошибкой, дописывая свою физику для моей «Коровы». Я получаю сообщение об ошибке: «Невозможно вызвать значение нефункционального типа« 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.

1 Ответ

0 голосов
/ 12 января 2019

Пожалуйста, прочитайте документацию :

В отличие от функции applyImpulse

func applyImpulse (_ impulse: CGVector)

velocity является свойством

переменная скорость: CGVector {get set}

Вы должны присвоить значение

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

или короче

Cow.physicsBody?.velocity = CGVector.zero

или самое короткое

Cow.physicsBody?.velocity = .zero
...