Gamemaker‎ > ‎

Gamemaker-Shooting

シューティングでも作りましょうかー。

多分、Gamemakerで一番作るのが簡単なのはシューティングではないかと思います。
最初の部分までですが解説します。



スプライトの作成 

まずはゲームのキャラクターの絵を描いていきます。Spritesを右クリックし、Add Spriteを選択してください。

Spritesのプロパティが出て来るんで、スプライトの編集を押します。

グラフィックは何も読み込んでいないので、緑の空白が出てきます。ダブルクリックして編集します。

すると内蔵のグラフィックエディタが起動します。
敵はなにがいいかなー。ねこちゃん描いちゃいましょうね。ねこちゃん。
操作感は、windows内蔵のペイントにそっくりです。

適当に名称を付けます。あと、マウスで絵の中心を指定してあげます。そしてOKを押します。

この要領でグラフィックを増やしていきます。今のとこ必要なのは、自機、敵、自機の弾、敵の弾かな。


オブジェクトの作成

グラフィックがそろったら、今度はオブジェクト(ものの振る舞いの設定、設計図)を作っていきます。Add Objectを選択します。

名称を適当に付け、スプライトから、さっき作ったグラフィックを指定します。

ルームの作成

今度はルームを作ります。Add Roomしてください。

ルームの設定が出てくるので、灰色の部分を適当に押して自機を設置します。

ウィンドウ上部の再生ボタンを押します。

そうするとゲームが起動すると思います。


アクションの設定

でも自機はまだ動かないので、これから動かしていきましょう。

閉じて、作業を続行します。

さっきの、自機のオブジェクト設定を開いてください。
「イベントの追加」ボタンを押し、キーボードから「左」を選択します。

これで、「もし左キーが押されたらどうするか」を記述できるのです。
左キーが押されたらどうしますか?

右に移動しますね。

嘘だよ!

右のボタン群から、このアイコンを探して、空白部分にドラッグします。

この、Jump to a given positionは、「与えられた位置に移動する」という意味です。

座標系で考えます。左に移動するということは、x座標値を減らせばいいんですね。
同様に、上に移動するときはy座標値を減らせばいいんです。
Relativeというのに忘れずにチェックを入れます。これで、自機の位置より相対的な位置に移動できるわけです。

上下左右、それぞれにアクションを入れていきます。

では、ゲームをもう一度実行してみて下さい。

動けましたか?簡単でしょ?


オブジェクトの生成

さて、弾を撃てなければシューティングではありません。

弾と敵を一通り作ってしまいましょう。

同様の手順で一通りオブジェクトを作っていきます。イベントはまだ設定しなくてかまいません。

弾を撃ちましょう。自機のオブジェクト設定でイベントを追加します。キー押し下げ、Spaceを選択してください。

アクションには、Create an instance of an object with a motion(動き付きでインスタンスを作る)を設定します。
これはつまり、ものを撃つということです。

objectに弾を、
speedに適当な値、
direction(方向)は上ですので、90度と書きます。

Relativeにも、忘れずにチェックを入れて下さい(自機の座標から撃つので)

こんな感じになります。実行してみてください。

スペースを押すと、弾が発射されますね。


オブジェクトの破壊 


一人じゃ虚しいので、敵を追加しましょう。

敵のオブジェクト設定を出してください。先ほど描いたねこちゃんは敵にしました。

イベントの追加より、コリジョン。自機の撃つ弾を指定します。
「敵が、自機の撃つ弾に当たったらどうなるか」という条件です。

死にます。

死ぬというか、Destroy the instance(そのインスタンスを破壊する)を選択する事になります。
Applies to(適用先)は、Self(自分)のままでいいですので、OKを押して下さい。

Roomの設定に行きます。

オブジェクトから、敵を選択。

ぽちぽちぽちと灰色の部分を押して敵を設置していきます。

消すときは右クリックです。

また実行してみてください。

敵を倒せましたか?

弾が敵を貫通しちゃってます。

レーザーじゃないので、貫通させないようにしましょう。敵と弾が衝突したとき、同時に弾も破壊されるようにします。

さっき、敵を破壊するアクションを置いたとこに、Destroy the instanceをまた置きます。
今度はApplies to(適用先)に
Other(衝突した相手)を指定します。

また実行してみてください。
今度は上手く行くはずです。


オブジェクトの移動


敵が止まったままじゃちょっと……

動かしましょう。

敵のオブジェクト設定を出して下さい。

Gamemakerのキモ、ステップイベントです。
ステップイベントは、
いつも実行されます。

敵がちょっとずつ近づいてくるというのは、
敵がいつも、ちょっとずつ下に移動するという風に書けばいいです。
y座標に1ずつ足していきましょう。Relativeにチェックを忘れずに。


スコア表示


ついでにSet the score(スコアを設定)でスコアに100点足すことにしましょう。
相対的に増えるので、ここもRelativeにチェック。

敵とぶつかった場合、ハイスコアを表示してゲームを再起動するようにします。

自機と敵がぶつかった場合のイベントも追加してください。
(自機のオブジェクト設定に書いても同じです)

ハイスコア表示はShow the highscore tableです。
Restart the gameを置いて、ゲームを再起動するようにしましょう。

ゲームを実行してみましょう。
これでゲームの骨組みは出来ました。
あとは面倒なので解説はしません。他にどんなシステムが必要か考えて見て下さい。


課題


・敵が弾を撃つ

・爆発のエフェクトを入れる

・一定時間ごとに敵が画面上から現れる

・敵の種類を増やす

・残機を設定する

・ボスを作る

等々……。


ほかにも、このゲームにはいくつかの問題点があります。

・自機が画面外にも移動できてしまう

・画面の外に飛んでいった弾や敵が削除されない。→ゲーム速度の低下につながる

・いくらでも弾が連射できてしまう。

シューティングゲームは、gamemakerに同梱されている「1945」というサンプルがあるので、参考にしてみてください。


Gamemaker紹介ページへ戻る

Comments