Scratchプログラミング入門

9.本格的シューティング #1

自機を作る

Scratchは表示される解像度が低いので、表示域をできるだけ広く使うためにキャラクタを縮小します。
今回は数回の敵の攻撃に耐えるために変数Lifeを用意します。
「変数を作る」で変数を作ります。




弾を作る




間隔を空けて弾を発射




発射パターンを変化させる


同時に2発の弾を発射するために、弾のスプライトを2つ用意しておきます。
発射ボタンが押されたらそれぞれ2つの弾のクローンを作ります。





Ball 一つ目の弾


Ball2 二つ目の弾




同時に複数のクローンを作る


座標を指定してクローンを作る場合、クローンに直接値を渡す方法がありません。
そこで、変数を用意してそれに座標のデータを入れ、クローンを作り、その作成時に変数から座標を指定します。
しかし、この方法では同時に複数のクローンが作成する場合、処理のタイミングで、最後に設定した変数の値でしかクローンが作られません。

【例】
変数shotXに値をいれクローンをつくります。この例だと「zキーが押された」処理がすべて終わった後、「クローンされたとき」の処理が2回行われます。
したがって、変数shotXは10で2回行われ、ビームは2つとも同じ座標に表示されてしまいます。
 


この問題を解決するために別の方法を使ってみます。
リスト(配列)に座標を追加してクローンを作成します。。
クローンはリストの最後から追加されたデータを取り出し、取り出したデータを削除します。(これをスタック処理(後入れ先出し)と言います)
これにより、クローンが作成されるたび、別の座標が取得できるので、同時に異なった座標へ複数のクローンを作ることができます。

 



【完成版】




Copyright (C) NKC All Rights Reserved.