開始点と終了点、およびXフレームを設定して、ゲームオブジェクトの回転を実行しようとしています。次に、開始角度と終了角度を補間して実行します。
それはうまく機能しますが、私はオプションとして可能な限り短いルートを実行しようとしています(「最長のルートを実行する」とは対照的です)。ほとんどの場合は機能しますが、回転が360を超えるか0を下回る場合、それを検出して数値を変更する方法がわかりません。(たとえば、270から90までの最短ルートを使用する場合、最短ルートは360/0を超えるため、使用されないため、270を-45にして90に補間する必要があります)。私は説明がひどく、それを切り上げるのにネイティブの英語ではないので、私が持っているものの擬似コードを使用します。
thing.start_angle = 180
thing.end_angle = 90
thing.angle = interpolate(thing.start_angle, thing.end_angle, position)
私はこの方法が好きです(「ifangle> max_angle then angle-1」の詳細な時間制御のために)が、角度が回転するかどうかを検出する方法の「ルール」を見つけることができません...どうすれば見つけることができますか回転が0未満または360を超える場合、それに応じて動作しますか?