2020年からの小学校でのプログラミング教育必修化に伴って、プログラミングへの関心が高まっています。

そして、教育用のプログラミング言語として人気があるのが、スクラッチ(Scratch)で、色々なゲームや作品を作ることができます。

今回は、スクラッチの「メッセージ機能」を使い方を紹介していきたいと思います。メッセージ機能によって、キャラクターや背景を変えたりできるようになります。

自分の好きなようにゲームをコントロールできるようになって、面白いゲームを作っていきましょう!

【スクラッチ①】メッセージ機能とは?

スクラッチのメッセージ機能とは、スプライトや背景にイベントを伝える機能になります。

この説明だけだと少し難しいので、詳しく解説していきたいと思います。

スクラッチでイベントがいつ発生するか?

まず、「イベント」について見ていきたいと思います。

スクラッチでは、次のようなものが「イベント」になります。

文章で書くと、以下の5つがイベントになります。

  1. 実行ボタンが押される
  2. キーが押される
  3. スプライトが押される
  4. 音量やタイマーの値がある値より大きい
  5. メッセージを受け取る

例えば、「実行ボタンを押される」というイベントが発生したら、スプライトが動き始めたり、背景が変化するというようなことをプログラミングすることができます。

イベントの発生をメッセージ機能で伝える

イベントの種類は、上で書いた1~5と解説してきました。

その中で、1~4のイベントは、ある特定の操作や状態になったときのイベントです。

なので、実行ボタンを押す、あるキーを押すなどの特定の操作をする必要があります。

これらは、よく使われるイベントになっているので、プログラミングするときにも便利に使うことができます。

一方で、5つめの「メッセージを受け取る」というイベントは、特定の操作によらずに好きなタイミングでメッセージを送って、それを受け取ることでイベントを発生させることができます。

このようにメッセージを送って、それを受け取ることでイベントを発生することができるのが、スクラッチの「メッセージ機能」になります。

次の章で、その具体的な使い方を見ていきましょう!

【スクラッチ②】メッセージ機能を使ってみよう

では、メッセージ機能を使って、スプライト同士であいさつをするプログラミングをしていきましょう。

今回作ったのは、こんなプログラムです。

ネコとサルのスプライトを用意して、それぞれプログラミングをしていきます。

まずは、ネコのプログラムからです。

選択しているスプライトがネコになっていることを確かめましょう。

そうしたら、イベントの中から、メッセージ1を送る ブロックを選んできて、下の図のようにプログラムを作っていきましょう。

これで、実行ボタンを押されたときに、こんにちは!と言って、メッセージ1を送るプログラムができました。

では、次にこのメッセージ1を受け取るプログラムを作っていきます。

まず、サルのスプライトを選んできます。

そして、イベントの中から、メッセージ1を受け取ったとき ブロックを選んできて、下のようなプログラムを作っていきます。

これで、サルがメッセージ1を受け取ったときに、こんにちは!というプログラムができました。

このようにメッセージ機能を使うことで、ネコのスプライトがメッセージを送って、サルのスプライトがそれを受け取り、動かすことができるようになりました。

メッセージを使うことで、スプライトを動かしている間に、別のスプライトを動かすことができるようになり、スプライト同士の動作の連携や複雑な動作もさせることができるようになります。

【スクラッチ③】複数のスプライトでメッセージを受け取ってみよう

先ほどの例では、ネコが送ったメッセージを、一匹のサルのスプライトが受け取っていました。

実は、メッセージは複数のスプライトが受け取ることができます。

実際に見ていきましょう。

ネコがこんにちは!というと、サルとペンギンがこんにちは!と言います。

ネコとサルのスプライトのプログラムは先ほどと同じです。

また、ペンギンのスプライトのプログラムは、サルのスプライトと同じです。

ネコがメッセージ1を送って、サルとペンギンがメッセージ1を受け取って、あいさつをしています。

もちろん、3つ以上のスプライトもメッセージを受け取ることができるので、スプライトの数を増やして、メッセージを使ってみると、複数のスプライトの動きをコントロールすることができるようになります!

【スクラッチ④】メッセージで背景を変更してみよう

ここまで、メッセージ機能を使ってスプライトを動かす方法を見てきました。

スプライト以外にも、背景がメッセージを受け取って、背景を変えることができます。

では、例を見ていきましょう。

詳細なプログラムは以下になります。左はネコのスプライトのプログラムで、右は背景のプログラムになります。

※背景のプログラムは、画面右下の「ステージ」を押してあげると、プログラムすることができます。

このプログラムの動きは、ネコが動き始めて、壁の端までたどり着いたら、メッセージ1を送って、ネコを左端に移します。

そして、背景がメッセージ1を受け取ると、背景が変化しています。

なお、背景は次の3つを使っています。

このように、背景がメッセージを受け取って、背景を変えることができるので、ゲームを作る時にゲームステージを変えるときなどで、使うことができると思います!

【スクラッチ⑤】メッセージを新しく作ってみよう

メッセージに名前を付けて、新しいメッセージを作成することができます。

メッセージ1を送る ブロックを選択して、「新しいメッセージ」を選択します。

そうすると、新しいメッセージの名前を決めることができ、OKを押すと新しいメッセージをつくることができます。

この例では「あいさつ1」というメッセージを作りましたが、あいさつ1を送って、スプライトや背景であいさつ1を受け取ることができるようになります。

メッセージを新しく作成することで、この場合はこのメッセージを使い、あの場合はあのメッセージを使う、というように複数のメッセージを使い分けできるようになります。

また、自分の好きな名前のメッセージを作成できるので、あとでプログラムを見たときにどんなメッセージなのか分かりやすい名前にしておくと良いでしょう。

まとめ:スクラッチのメッセージ機能でゲームをコントロールしよう!

今回は、スクラッチのメッセージ機能について見てきました。

スプライトや背景を、メッセージ機能を使って変化させることで、キャラクターの動きをコントロールしたり、ゲームステージを様々変化させたりすることができます。

また、メッセージは自分の好きなタイミングで送って、受け取ることができるので、自由にイベントを発生させて、ゲーム作りに生かすことができます。

ぜひ使い方に慣れて、様々な動きができるゲーム作りに挑戦してはいかがでしょうか!