敵を撃って倒すゲームを作る。【第1回】
今回から、また新しくゲームを作っていきます。
サブタイトルにも書きましたが、挑戦するのは「敵を撃って倒すゲーム」です。
ジャンルは、一応「シューティングゲーム」になるんでしょうけど、本格的なものはとても作れないので、“シューティングゲームもどき”という曖昧なものにしておきます。
これまでも、何度か「弾を発射」と「当たり判定」のコモンイベントは作った気がするので、大体どうやればいいのかはわかってるつもりです。
でも、復習ということで、ちょっとだけ仕組みをメモしていきます。
事前に、弾丸となる画像を用意しておきます。
といっても、テスト段階なので、最初から入ってるカーソル画像を、サイズ16x16に設定して用いることにしました。
弾を撃つキーは、決定キー(ZキーかEnterキー)にします。
決定キーが押された時、処理が始まるといった感じです。
弾ピクチャの初期位置は、主人公の座標にしました。
主人公の歩行グラフィックにぴったり重ねるには、Y座標をちょっとだけ調整する必要があります。
弾の移動は、回数付きループでやることにします。というか、その方法しか知りません。
ループ回数は、画面の縦横のサイズを取得して用います。
テスト環境として、ゲームサイズは320x240、移動は8方向の半マス移動で作っています。
ですから、弾も半歩ずつ(8pxずつ)進むようにします。その方が、動きが滑らかになるかなと思ったので。
そのため、画面端まで弾を移動させるためには、取得した画面サイズを2倍にしておく必要があります。
主人公の向いている方向へ弾を飛ばしたいので、それぞれの向きで分岐して、X座標とY座標の変動値を準備します。
分岐の数は、移動が8方向なので8つですね。
左右を向いている時は画面横サイズを、それ以外の方向の時は画面縦サイズをループ回数とします。
ここまで準備ができたら、あとは回数付きループで弾を移動させるだけです。
1マス移動するごとに、イベントとタイルの当たり判定を入れれば、通行不可のそれらに当たった時に弾が消えるようにできます。
当たり判定は、弾発射のコモンの中に入れてもいいんですが、長くなるので別コモンとして作ったものを呼び出しています。
この作り方だと、弾は1発ずつしか撃てませんが、イベントや物に当たった時に弾移動のループから出るようにすれば、擬似的に連射させることが可能になります。
画像を貼ろうかと思いましたが、静止画じゃ伝えにくいので、動画にしました。
低スペックPCで録画しているので、結構コマ落ちしています。
ですから、弾が変な位置で消えていたりしますが、実際にはイベントや壁などに触れた時に消えています。
発射音は一応設定してあるんですが、録画に使ったPCでは録音できなかったので、無音動画でお送りします。
とても静かな、31秒間の動画です。
ここからどのように発展していくのか、制作者の私自身、とても楽しみです。
制作が進んだら、次の更新をします。
今回はこれで終わります。
敵を撃って倒すゲームを作る。 【1】 【2】 【3】 【4】 【5】 【6】 【7】
2013/05/04/Sat 更新
WOLF RPGエディターメインページへ