Согласно SpriteKit Best Practices документу
Использование игровой логики и художественные активы, которые соответствуют SpriteKit по координации и ротации конвенций. Это означает ориентацию рисунка вправо. Если вы ориентируете произведение искусства в каком-то другом направлении, вам нужно преобразовать углы между соглашениями, используемыми в технике, и соглашениями, используемыми SpriteKit.
С точек звездолет по умолчанию вверх (при zRotation 0), вам нужно будет компенсировать свой угол на 90 градусов (пи/2 радиан), так что корабль обращен вправо, когда zRotation равен нулю:
player?.zRotation = angle - CGFloat(M_PI_2)
В качестве альтернативы, вы можете повернуть космический корабль вправо. Чтобы повернуть изображение, нажмите «Assets.xcassets», а затем щелкните «Космический корабль». Щелкните правой кнопкой мыши на изображении «Космический корабль» и выберите пункт «Открыть в внешнем редакторе». Это откроет изображение в приложении «Просмотр». В окне предварительного просмотра выберите «Инструменты»> «Повернуть вправо» и «Прерывание». Вращая произведение, ваш код должен работать без каких-либо изменений.
В каком направлении находится ваш плеер, когда его zRotation составляет 0? – 0x141E
Это космический корабль по умолчанию, а нос - вверх. zRotation равно 0. – ParalaxWobat