なんか作って載せます

敵を撃って倒すゲームを作る。【第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エディターメインページへ

inserted by FC2 system