メッセージとはスプライト同士の会話のようなものです。
スプライトのプログラムはそれぞれ単独で動くのが基本ですが、
メッセージを使うことで、スプライト同士が連携して動作することができます。
なぜ、メッセージが必要か?
スプライト同士が順番に会話をしたり、
ボタンをおしたらゲームが始まるような場面でメッセージを活用します。
例えば、
ネコが「こんにちは」といった後に
イヌが「いい天気ですね」と返すように会話を作成できます。
メッセージブロック
メッセージには3つのブロックがあります。
- 「メッセージを受け取った時」:特定のメッセージを受け取った時の動作を作成します。
- 「メッセージを送る」:他のスプライトにメッセージを送ります。
- 「メッセージを送って待つ」:上記と似ているのですが、他のスプライトにメッセージを送った後、受け取った側のプログラムが終わるまで待ちます。
スプライトにメッセージを送る
次のように「リンゴ」「バナナ」「オレンジ」のスプライトを作成します
「リンゴ」スプライトを選択した状態でコードを作成します。
「このスプライトが押された時」の下に
「メッセージ1を」送るブロックを作成します。
新しいメッセージを選択し、「メッセージ1」を「リンゴ」に変更します。
同様に、「バナナ」「オレンジ」スプライトを作成します。
「ネコ」スプライトを次のように作成します。
それぞれのメッセージを受け取った時に果物の名前を言います。
果物をマウスでクリックすると「ネコ」が果物の名前を言います。
果物スプライトから「ネコ」へメッセージが伝達することができました。
メッセージの同時送信
今度は、逆にそれぞれのスプライトへ同じメッセージを送ります。
メッセージを受け取ったスプライトはそれぞれ異なった動作をします。
ネコが「名前は?」とメッセージを送ると、
スプライトはそれぞれ自分の名前を答えます。
このような振る舞いはオブジェクト指向プログラミングにおいてポリモーフィズムと呼ばれます。
メッセージを自分自身へ送る
メッセージは他のスプライトだけでなく自分自身にも送ることができます。
次のようなプログラムでは自分とクローンにメッセージを送ります。
メッセージを受け取ったクローンは一斉に色を変更できます。
まとめ
スクラッチのメッセージについて解説しました。
ゲームやアプリケーションでは多くのスプライトが登場します。
- メッセージを送る
- メッセージを受け取った時の動作
この2つが対になってプログラムが動作することを覚えておきましょう。
コメント