作成:旭川児童パソコン教室“ぱそんこ”
前回【スペースインベーダー風ゲームを作ってみよう!②】の続きを作っていきましょう。
敵を動かしてみよう
インベーダーゲームの敵の動きには特徴があります。
すべての敵が一斉に1歩動いては止まる、これを繰り返しています。
50個の敵がそれぞれ勝手に動いていては、何かあればすぐバラバラに動くようになります。
ここは司令塔を作り、その司令塔から移動の指示を出すようにします。
司令塔はオリジナルの【Lady bug2】にやってもらいましょう。
指示を出すために【移動指示】という新しいメッセージを作ります。
メッセージブロックの使い方はこちら。
【ずっと】と【移動指示を受け取ったとき】の処理を追加します。
実行してみましょう。
50個の敵が1秒ごとに右へ移動します。
反転処理を入れよう
右へ移動する敵が端まできたら、敵全体が左へ移動するという処理を入れます。
その準備として、進行方向と反転を指示するフラグが必要になります。
変数を2つ作りましょう。
※50個のクローンに対して使うので、どちらもすべてのスプライト用にします
司令塔側の処理です。
反転指示は0、進行方向は10で初期化します。
反転指示が1のとき、進行方向の正負を逆転させます。
進行方向が10ならば−10に、−10ならば10になります。
移動側の処理です。
移動指示を受け取ったときの処理を大きく変更します。
x座標の移動は進行方向の値を使います。
10なら右へ、-10なら左へ移動します。
端まで来たかチェックをしています。
右へ移動しているとき【進行方向10】x座標が210以上なら反転指示を1にします。
実行してみて下さい。
上手くいけば、左右の端から端まで移動を繰り返すと思います。
※高確率でバグが発生します。
バグが発生した場合はこちら。
【インベーダーゲーム-バグを取り除こう!】
コメント