初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

Small Basic 入門

27.ふらふらUFOゲームを作ろう その2

 

[ ふらふらUFOゲームを作ろう ] の続きです。

 

 

自機 UFO を表示しよう

自機である UFO の表示をします。
下の画像をダウンロードしてください。

自機UFOの絵

画像の上で右クリックして「名前を付けて画像を保存」をクリックすればダウンロードできます。
ファイル名は p_ufo.png で保存します。

 

今回のゲームでは UFO の絵だけ使います。
絵の使い方を忘れているなら、前回の作成を思い出してください。
(参照:メテオゲームを作ろう その2

それでは前準備です。

1.作成中のプログラムを保存する(保存先のフォルダを忘れないように)
2.1度実行してフォルダ内に実行ファイルができるか確認する
3.UFO の絵をプログラムと同じフォルダ内に保存する

これでプログラムから UFO の絵が使えるようになります。
早速、変更しましょう。

自機の絵を表示する

12行目 Program.Directory は実行中のディレクトリを取得します。
なお画像ファイルとつなげるとき間に ¥ を入れます。
その他の変更点については前のゲームと同じです。

 

実行してみましょう。

UFOを表示する

画面中央の少し上に自機 UFO が表示されればOKです。

 

 

キー入力で自機を動かしてみよう

左右のカーソルキーを使って自機を操作できるようにします。

キー入力で自機を操作する

45行目 GraphicsWindow.LastKey を使うと最後に押したキーが取得できます
取得した内容を変数に入れて 47 や 50行目のように押されたキーを調べることができます。

実行して左右のキーで自機を操作してみましょう。

 

 

GraphicsWindow.LastKey で取得できる値とは

さきほど使用した GraphicsWindow.LastKey は最後に押したキーを取得します。
押したキーがどのような値になるのかサンプルプログラムを作りました。
実際に確かめてみましょう。
押した内容は、タイトルに表示されます。

押されたキーを取得する方法

「A」と押せば「A」、「B」と押せば「B」となります。
スペースキーは「Space」で下カーソルキーは「Down」ですね。

 

 

操作をちょっと難しくする

自機を操作できるようになりました。
しかし、コツが分かればとても簡単なゲームになってしまいます

次のことを試してください。
・左右のカーソルキーのみで、壁に当たらないように操作する
・左右のカーソルキーと、下のカーソルキーで操作する

気付きましたか?
下のカーソルキーを押すと自機が停止します
操作に慣れると、壁に当たらないようにすることがとても簡単になります。

 

今回のゲームは、自機を止められない(常に左右どちらかに動いている)
状況を考えて作っています。
左右のキーのみ受け付けるように変更します。

左右のキーのみ受け付ける

変数 movekey を追加しました。
左右のキーが押されたときだけ movekey に inkey を代入します。(47-49行目)
こうすることで他のキーの影響を受けなくなります。
51 行と 54 行目、inkey から movekey に変更することも忘れずに。

実行してみましょう。
左右のキーだけ有効になり、停止できないことを確認してください。