ゲームプログラミングのはなし12
【ゲームプログラミングのはなし12】
前回までで、ゲームプログラミングのいわゆる基礎工事、土台づくりはできました。慣れるとここまではゼロからプログラムを書いてもまあ同じなので、サッサとできちゃいます。
そして、ここからがイチバン楽しい時間、ゲームに命を吹き込む工程です。
最初にすることはやっぱりマイキャラを思い通りに動かすことでしょう。前回の入力のプログラムが生きてきます。
まず最初に必要なことは、マイキャラもそうなんですが、これからゲットするアイテムやモンスター、ボスキャラ、敵が撃つ弾など、画面を所狭しと動き回るキャラクター達の変数を決めなければいけません。
具体的に示したほうがわかりやすいので先に示しますと、マイキャラならば
画像を描画する位置: x, y
x軸, y軸の移動量: vx, vy
当たり判定用: l, r, t, b
を小数点を扱うfloat型で定義するのが定番ですかね。当たり判定用のは見慣れないかもしれません。キャラクターの画像の4角(left, right, top, bottom)を記憶させる変数で、ここが小さければ画像では弾に当たってもやられません。詳しくは後ほど。
だいたい動き回るキャラクターは上のセットが共通項です。いちいち変数の名前を考えるのがメンドクサイので、私はマイキャラも敵も弾もみんなこのセットを使います。構造体というのを使うのですが、それはまた別の機会に。
で、マイキャラの描画ですが、これはとてもシンプルです。描画したい位置のX座標、Y座標をxとyに入れ、あと移動は入力された時に右方向ならばvx=1、左方向ならばvx=-1、上はvy=-1、下はvy=1を代入するようにして、その移動量をx座標、y座標に足し続ければマイキャラは動き回ります。
これでやっとゲームっぽくなります。初めてここまで来れた時は、しばらく感慨に浸って意味もなくグリグリ動かし続けるハズです。(続く)