キャラクターに簡単な加速度をつける方法
今日はちょっとした小技の紹介です。キャラクターを動かすときに簡単な加速度みたいなものをつける方法です。
2D横スクロールゲームを作るときに
player.x += 4;
のような感じでキャラクターの座標に直接数値を足してしまうのは良くありません。特にジャンプ中に方向転換するとカクカクした動きになってしまいます(ファミコンの北斗の拳みたいな感じ)。
それを滑らかにする方法がこちら
if(右押した){ move_x += 1; } if(左押した){ move_x -= 1; } player.x += move_x;
だいぶ省略してますが、イメージは伝わると思います。
move_xという移動値を入れる変数を用意します。そして押した方向に対して右なら+、左ならーの値を加算します。そしてそれを移動値としてプレイヤーの座標に加算します。
これによって反対方向を押した瞬間に反対に動くということはなくなり、また、同じ方向を押し続けることで移動値が増え加速しているように見えます。
もちろんこれはキャラクターをジャンプさせるときにも応用できます。
単純だけど効果的な方法ですね(*´ω`)
ちなみにこのゲームで使ってます
▷▷▷ 秘密警察ギャボリン 第三話
同カテゴリー記事
記事の感想・コメント
※コメントはまだありません※