次に、キーボードの「上矢印キー」を押すと、ステージ上に配置したキャラクターからボールが発射させてみよう。キャラクターはキーボードの「左右矢印キー」で左右に動かせる(図4)。
プログラミングの仕方や解説については動画2を参照してほしい。
以降、動画2のポイントをテキストでも補足しておく。「スプライト(Giga)」に書く命令は図5のように、発射するボール(Basketball)に書く命令は図6のようになる。
発射するボールはGigaの後ろに配置し、Gigaをキーボードの左右矢印キーで左右に動かす際に、ボールも一緒に左右に移動させる必要がある。「右向き矢印キーが押されたとき」は「X座標を10ずつ変える」を、「左向き矢印キーが押されたとき」は「X座標を-10ずつ変える」を、それぞれ指定する。
ボールを上方向に発射させるには、Y座標の値を30ずつ変えている。ボールの「Y座標の位置が180になるまで繰り返す」という命令をしているので、ボールは元にあった位置(Y座標が-140)から考えると、ボールは320も動いており、30で割ると、余りの1回分を足して、11回分「Y座標の値を30ずつ変える」処理を高速にしていることになる。
前回解説した「繰り返し」は、くり返す回数を決めていたが、今回のように11回分と計算するのが面倒なときは、「制御」分類の「〜まで繰り返す」命令で実行させることもできるので便利だ。この「条件付き繰り返し」も、プログラミングではよく使うテクニックの1つだ。
また、ボールを発射して、Y座標が180の位置に達すれば、再度ボールは元にあった位置(Y座標が-140)に戻しておくようにする。1つのボールで何発もボールを発射させるわけなので、この処理が必要となる。
さらに、ボールを発射した後、「このスクリプトを止める」を指定していないと、上向き矢印キーから手を放してもボールが発射され続けるので、上向き矢印キーから手を離した場合は、ボールの発射を止めるように、「このスクリプトを停止する」を追加する必要がある。
これらの処理のように、命令を元の状態に戻すことをプログラミングでは、「初期化」という。先ほど解説した「繰り返し」や、連載第2回で紹介した「イベント」の考え方においても重要なことなので、「初期化しないと、どうなるのか」を試しながら覚えておいてほしい。
最後に、先ほどのボールを発射する処理を利用して、ランダム(不規則)に現れる幽霊をボールで打つゲームを作ってみよう。ボールが幽霊に命中した数もカウントして表示する。制限時間は60秒とする(図7)。
プログラミングの仕方や解説については動画3を参照してほしい。
以降、動画3のポイントをテキストでも補足しておく。幽霊(Goast1)とGiga、Basketball、ステージの4つのスプライトを使っている。
まず、スプライト(Basketball)に書く命令は図8になる。これは、先ほどの図6と同様なので、説明は省略する。
Copyright © ITmedia, Inc. All Rights Reserved.