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

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

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

Small Basic 入門

28.ふらふらUFOを作ろう その2

 

ふらふらUFOを作ろう ] の続きです。

 

自機(UFO)を表示しよう

自機である UFO の表示をします。
絵は次の画像を使用してください。

 

自機として表示するUFOの絵

 

今回のゲームでは、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」ですね。

 

 

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

自機を操作できるようになりました。
ただ、いまのままだと操作のやり方でゲームの難易度が変わってしまいます

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

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

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

 

左右のキーのみ受け付けるプログラム

 

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

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