Вместо того, чтобы самостоятельно вычислять углы, используйте SKConstraint для этой задачи.
Предполагая, что ваш cubes
является массивом SKNode:
let constraint = SKConstraint.orient(to: cubes[0], offset: SKRange(constantValue:0))
blaster!.constraints = [constraint]
Вам придется сделать это только один раз, вместо каждого кадра. Ограничение автоматически применяется к каждому кадру.
Чтобы удалить его, установите ограничения бластера обратно на nil
:
blaster!.constraints = nil