メッセージで合図する
「メッセージを送る」は、送った直後に次のブロックへ進みます。「送って待つ」は、受け取った処理が終わるまで待ちます。場面を切り替えるときは、どちらが必要か考えましょう。
タイトルからゲームへSCRATCH BLOCKS
スタートボタン:
[このスプライトが押されたとき]
[ゲーム開始 を送って待つ]
[隠す]
ステージ:
[ゲーム開始を受け取ったとき]
[背景を「ゲーム」にする]実行結果OUTPUT
スタートボタンを押すと、ステージの背景が「ゲーム」に変わります。
「送って待つ」なので、受け取った処理が終わってからボタンが隠れます。場面転換を設計する
タイトル、ゲーム中、結果画面をメッセージで分けます。それぞれの場面で表示するスプライトと隠すスプライトを決めると、古いキャラクターが残る問題を防げます。
メッセージ名のルール「タイトルへ」「ゲーム開始」「結果表示」のように、受け取った側が何をするか分かる名前を付けます。「message1」のような名前は、後で役割が分からなくなります。
クローンでアイテムを増やす
クローンは、元のスプライトから一時的な複製を作る仕組みです。1つの星スプライトから、画面に複数の星を出せます。クローンが作られたときの処理は「クローンされたとき」に置きます。
星を複数出すSCRATCH BLOCKS
[緑の旗が押されたとき]
[10回繰り返す]
[自分自身のクローンを作る]
[0.5 秒待つ]
[クローンされたとき]
[x座標を -220 から 220 までの乱数にする]
[y座標を 170 にする]
[ずっと]
[y座標を -4 ずつ変える]
[もし y座標 < -170 なら]
[このクローンを削除する]実行結果OUTPUT
旗を押すと、0.5秒おきに星のクローンが作られます。
それぞれの星が別々の位置から落ち、画面外に出ると消えます。クローンには上限があります。不要になったクローンを削除しないと、作品が重くなったり、作成できなくなったりします。
練習
「ゲーム開始」で星を10個出し、「ゲーム終了」で残っているクローンを削除する作品を作ってください。メッセージを送る担当と、受け取って動く担当を図にすると実装しやすくなります。
確認ポイント「クローンされたとき」の処理は元のスプライトの動きとは別に実行されます。元のスプライトを隠しても、クローンの動作は設計した通りか確認しましょう。