Вращение спрайта с помощью игры со спрайтами (swift) flappy bird - PullRequest
0 голосов
/ 03 июня 2019

Итак, я учусь создавать игры для iOS с использованием спрайтов. Я переделываю flappy bird как мой первый проект. Последний кусочек кода, который я не могу понять, как правильно работать, - это вращение птицы, когда она падает в воздух.

Когда моя птица падает под действием силы тяжести, она будет нырять, и это хорошо. Когда я применяю вертикальный импульс при нажатии на экран. Птица переворачивается на 180 градусов, чтобы смотреть прямо вертикально. Это что-то вроде того, что я делаю, но как мне сгладить переход от погружения в нос к вертикальному виду?

bird.physicsBody?.allowsRotation = true
var velocityvector = bird.physicsBody?.velocity
let angle = atan2(velocityvector?.dy ?? 0, velocityvector?.dx ?? 0)
bird.zRotation = angle

Это код, который я сделал, чтобы вращать птицу.

1 Ответ

3 голосов
/ 04 июня 2019
bird.physicsBody?.allowsRotation = true 
var velocityvector = bird.physicsBody?.velocity
let angle = atan2(velocityvector?.dy ?? 0, velocityvector?.dx ?? 0)
let rotateAction = SKAction.rotate(byAngle: angle, duration: 0.5)
// Or let rotateAction = SKAction.rotate(toAngle: angle, duration: 0.5)
bird.run(rotateAction)
...