飛んでくる蜂をジャンプして避けるというゲームを作っています。
前回は、犬と蜂が当たったら犬が回転してやられる所まで作りました。
当たり判定も入ったのでテストしてみましょう。
テストで調べる点は2つです。
1.犬がスペースキーでジャンプするか
2.犬と蜂が当たると犬が回転するか
次の画像のように犬と蜂、それぞれを配置してステージも中央に持ってきましょう。
それではテストしてみて下さい。
テストの結果はどうでしたか?
説明の通りに作っていれば正常に動くはずです。
しかしながら、このプログラムにはバグがあります。
というか設計上のミスがあります。
蜂とあたった犬がやられて回転しているのに、スペースキーを押すとジャンプします。
回転している時には、ジャンプしないように作りたいですね。
プログラミングするとき1つ1つは正常に動いていても、
複数の条件が重なった時にバグが発生することはよくあることです。
テストをするときは出来るだけ色々な状況で行うようにしましょう。
犬と蜂が当たって回転しているとき、ジャンプしないようにします。
ジャンプと当たり判定は、同時に処理していたことを思い出して下さい。
つまり、当たった後はこの同時処理から抜けるようにすればいいのです。
抜け出す方法はヨブーンとハターンを使います。
ではヨブーンを当たり判定の上にドラッグします。
ハターンをイッペンニンの外にドラッグします。
犬を回転させる処理を外に出します。
蜂に当たるとヨブーン旗1によりハターン旗1へ処理が移ります。
つまり、イッペンニンの同時処理から抜け出すことになります。
テストしてみて下さい。
蜂に当たった後は、スペースキーを押してもジャンプしないことを確認しましょう。
犬は蜂と当たるとやられて回転します。
では、蜂はどうしましょう?
シューティングゲームでは、何かに当たったミサイルは消滅するパターンが多いです。
それに習って蜂も消滅する(見えなくなる)ようにします。
方法としては先ほどのヨブーンを利用します。ヨブーンが行われると
・犬は回転する
・蜂は隠す(見えなくする)
という感じにします。
ハターンをドラッグします。
ミエルンを上にドラッグします。
ミエルンには見せるとかくすの指定ができるので、かくすにチェックします。
これでハターン旗1へ処理が移ったとき、蜂の絵は見えなくなります。
テストしてみましょう。
犬と蜂が当たった時、犬は回転して蜂が消えればOKです。
次回に続きます。