質問: C#, MonoGameでゲームを開発中のものです。 ゲーム内で入力に合わせて上、左上、左、左下、下、右下、右、右上の8方向にキャラクターを動かしています。しかし現在のアルゴリズムがフリックの変化量を位置に加算減算しているだけのため変化が定量的になり、キャラクターの動きが直線的になってしまいます。 どうにかしてふわふわと空中を舞って浮遊しては時間経過で落ちていく(蝶々のようなイメージ、イメージが伝わりにくくてすみません)ようなアニメーションをさせたいと思っています。 絵を複数枚(1方向に複数)用意してアニメーションさせる方法も検討したのですが、 絵を描く手間がかかって断念しました。 ゲームロジックとして空中浮遊をさせるような良いアルゴリズムはないでしょうか? どなたかご教授ください。お願いします。
回答: フリックの変化量を「位置」に加算するのではなく「速度」に加算し、更に時間経過で落ちていくようにするために重力加速度のようなものを設定し、位置の計算は速度を元に算出するのが自然ではないでしょうか?