:
あなたの弾丸のzRotation
を変更する必要があります。
let rotate = SKAction.rotateByAngle(angle, duration: 0.01)
次のことができます。
extension CGFloat {
var radiansToDegrees: CGFloat {
return self * CGFloat(180.0/M_PI)
}
var degreesToRadians: CGFloat {
return self * CGFloat(M_PI/180.0)
}
}
は、あなたも(また、この1つはラジアンで表される)を使用することができ、あなたの弾丸を回転させるには:あなたが必要とするので、もし
はzRotation
はラジアンで表現されていることを忘れないでください弾丸のインパルスの速度と角度も計算します。
extension CGVector {
func speed() -> CGFloat {
return sqrt(dx*dx+dy*dy)
}
func angle() -> CGFloat {
return atan2(dy, dx)
}
}
あなたがあなたのコメントについて詳細にhere
を説明するように、画面のタッチでこれらの要素を接続することができます必要がある場合は、この式(すでに私のリンクで説明)を使用することができます:
let angle = atan2(location.y - cannon.position.y , location.x - cannon.position.x)
cannon.zRotation = angle - CGFloat(M_PI_2)
はあなたが極座標に精通していますが?極座標で方位角を回転させる必要があると考えるならば、最後の点で直角座標に変換して – Feldur