キャラクターに簡単な加速度をつける

今日はちょっとした小技の紹介です。キャラクターを動かすときに簡単な加速度みたいなものをつける方法です。

2D横スクロールゲームを作るときに

のような感じでキャラクターの座標に直接数値を足してしまうのは良くありません。特にジャンプ中に方向転換するとカクカクした動きになってしまいます(ファミコンの北斗の拳みたいな感じ)。

それを滑らかにする方法がこちら

だいぶ省略してますが、イメージは伝わると思います。

move_xという移動値を入れる変数を用意します。そして押した方向に対して右なら+、左ならーの値を加算します。そしてそれを移動値としてプレイヤーの座標に加算します。

これによって反対方向を押した瞬間に反対に動くということはなくなり、また、同じ方向を押し続けることで移動値が増え加速しているように見えます。

もちろんこれはキャラクターをジャンプさせるときにも応用できます。

今回は単純に1ずつ加減算してますが、もっと本格的な感じに見せるためには値を工夫する必要が出てきます。いろいろな方法があるようなので探してみると面白いかもしれませんね。

 

以上、小技紹介でした(‘ω’)ノ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です