インベーダーゲーム-バグを取り除こう!3.5

インベーダーゲーム

作成:旭川児童パソコン教室“ぱそんこ”

スペースインベーダー風ゲームを作ってみよう!③で発生したバグを取り除いてみましょう。

反転処理のバグを取ろう

敵が端まで来ないで反転するバグがあります。
どうして途中で反転してしまうのでしょうか?
実は、ちゃんと右端まで来ています。

隠しているオリジナルの【Lady  bug2】を見えるようにします。

実行してみると、オリジナルの【Lady bug2】が右端に来たとき反転していました。

このバグは反転処理で、オリジナルとクローンを区別せずに実行していたため発生していました。
隠していた【Lady bug2】も反転処理していたことが原因です。

バグを直すために、隠す敵と表示している敵を区別します。
まずは敵の表示という変数を作ります。

作業は必ず【Lady bug2】を選択した状態で作ります。
このときこのスプライトのみを選択しましょう。

表示していても邪魔なので、敵の表示のチェックを外します。
他の変数も必要なければ外し、見たいときにチェックを入れましょう。

作業の前に、追加した表示するを取り除いてください。

それでは表示中の敵と隠している敵の処理を分けます。
変更点は3つあります。

変更内容を見てみましょう。

まず、初期化処理です。
50回繰り返すの前に敵の表示を0にするを追加します。

次に表示するものを指定します。
クローンされたときの表示するの後に敵の表示を1にするを追加します。

隠すものの場合、移動処理を止めます。
移動指示を受け取ったときもし敵の表示が0ならこのスクリプトを止めるを追加します。

正常に動くか実行してみましょう。
ステージの端から端まで敵が移動するようになったら成功です。


ぱそんこホームページ

コメント

タイトルとURLをコピーしました