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

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

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

player.x += 4;

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

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

if(右押した){
    move_x += 1;
}
if(左押した){
    move_x -= 1;
}
player.x += move_x;

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

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

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

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

単純だけど効果的な方法ですね(*´ω`)

ちなみにこのゲームで使ってます

▷▷▷ 秘密警察ギャボリン 第三話

同カテゴリー記事

当サイトのオリジナルゲーム(ランダム表示)

レトロ風シューティング。謎の宇宙人との人類存亡をかけた戦い?
クッソしょうもないあほげー。ある温泉街で殺人事件がおきた。どうやら犯人はこの中にいるようだ。
あほげー。なんか見つけたらタッチしてみて。なにかあるかも?
未完成の失敗作。なんで公開してるんだとか言わないでくれ。。

記事の感想・コメント

※コメントはまだありません※

コメントを残す

メールアドレスが公開されることはありません。

ゲームジャンルタグ

新着技術ブログ記事

新着開発日記