スプライトの回転に使用されるXboxサムスティック。基本的な数式により、90度間隔で「スティック」または「スティッキー」に感じます。どのようにスムーズな回転を得るのですか?
非常に基本的な式を使用して、Xboxコントローラーのサムスティックに基づいてスプライト(宇宙船など)が向いている角度を計算します。つまり、サムスティックを使用して船を回転させます。 私の主な更新方法では: shuttleAngle = (float) Math.Atan2(newGamePadState.ThumbSticks.Right.X, newGamePadState.ThumbSticks.Right.Y); 私のメインの描画方法では: spriteBatch.Draw(shuttle, shuttleCoords, sourceRectangle, Color.White, shuttleAngle, origin, 1.0f, SpriteEffects.None, 1); ご覧のとおり、非常にシンプルなので、現在のラジアンをサムスティックから取り出してフロートに格納します shuttleAngleこれをシャトルを描画するための回転角度(ラジアン)引数として使用します。 どういうわけか、スプリントを回転させると、0、90、180、270度の角度でベタつく感じがします。それらの角度で解決したいと考えています。同様のメカニズムを使用するゲームで感じるようなスムーズで自然な回転は得られません。PS:私のXboxコントローラーは大丈夫です!