Scratch(スクラッチ)でプログラムを組む際、必ずと言ってよいほど使う「イベント」ブロックですが、初めてスクラッチを触った人は使い方や、イベントブロックを使うことでプログラムでどういう影響を与えるのかわからないと思います。
そこで本ページでは、スクラッチの「イベント」について解説していきます。
イベントブロックの使い方やイベントブロックを使ったサンプルプログラムをご紹介していきます。
イベントブロックを使いこなして、様々なアニメーションやゲームを作りましょう!
スクラッチの「イベント」とは?
スクラッチの「イベント」とは、プログラムを動かすためのアクションになるブロックのことを指します。
スクラッチで作成したプログラムはをイベントブロックを使用すると、誰でも動かすことができるようになります。
スクラッチ画面の「イベント」をクリックすると、沢山のブロックが出てきますね。
よく使うブロックを中心に、それぞれのイベントブロックについて、プログラム例と共に簡単に説明していきます。
スクラッチのイベントブロックの使い方
イベントブロックの【緑の旗マークが押されたとき】
スクラッチ画面の右上の緑の旗のマークが押されたときに、このブロックより後のプログラムを実行していくためのブロックです。プログラムの一番上に置かれるブロックです。
スクラッチ作成画面上では動作ブロックだけでも、プログラムを動かすことはできます。
下のプログラムを作成して、➀をクリックするとネコが10歩ずつ動きます。
➁は【緑の旗マークが押されたとき】ブロックをプログラムの一番上に置き、繰り返しをすることで、ネコ自動で歩くプログラムになりました。
➂をクリックしたときに➁のプログラムが動きます。分かりやすいように、見た目ブロックを使用して、ネコのサイズを1.5倍にしています。
イベントブロックの【[スペース]キーが押されたとき】の使い方
キーボードのキーが押されたときに動かすプログラムの一番最初に置くブロックです。
キーに動きを割り当てることで、例えば、左右上下の矢印キーを押したら、スプライトが移動する、スペースキーを押したら、攻撃球が出てくる、キーを押したら、ジャンプさせるなど、スプライトに対して、色々なアクションを起こさせることができます。
[スペース]の横の▽マークをクリックすると割り当て可能なキーが表示されます。
下のプログラムはスペースキーを押すとスロットの数字が動き、自動でストップするゲームです。
数字のスプライトのプログラムで、イベントブロックの【[スペース]キーが押されたとき】を使用しています。
演算ブロックの乱数を使って繰り返しの回数を決めています。
数字スプライトは左から順番にストップするように、左スプライトより、乱数の数字を大きく設定しています。
イベントブロックの【このスプライトが押されたとき】の使い方
スプライトがクリックやタップされたときに動かすプログラムの一番最初に置くブロックです。
下のプログラムはネコをクリックするたびにネコの色が変化していくプログラムです。
イベントブロックを使ってメッセージをやりとりする
スプライト間でメッセージをやりとりする時に使用するブロックです。
メッセージをやり取りできることによって、より複雑なプログラムを作成することができます。
【[メッセージ1]を送る】
プログラム中でメッセージを送るときに入れるブロックです。メッセージを送った後は次の処理に進みます。
【[メッセージ1]を送って待つ】
プログラム中でメッセージを送ってから処理を待つときに入れるブロックです。メッセージを送った後はメッセージを受け取ったスプライトの処理が終わってから、次の処理に進みます。
【[メッセージ1]を受取ったとき】
メッセージを受け取ったときに動かすプログラムの一番最初に置くブロックです。
複数のメッセージを設定した場合、[メッセージ1]の▽マークをクリックして変更することができます。
下のプログラムではネコとさるのスプライト間でメッセージをやり取りしています。
イベントブロックの【背景が[背景1]になったとき】の使い方
指定された背景になったときに動かすプログラムの一番最初に置くブロックです。複数の背景を設定した場合、[背景1]の▽マークをクリックして変更することができます。
詳しくは、次の項のイベントブロックを使ったサンプルプログラムで解説します。
イベントブロックの【[音量/タイマー]>(10)のとき】の使い方
音量やタイマーの数値が条件の数値より大きいときに動かすプログラムの一番最初に置くブロックです。
音量かタイマーかの切り替えは▽マークをクリックして指定します。
音量のサンプルプログラム
パソコンやタブレットのマイクが拾った音量が数値として表示されます。
下のプログラムはパソコンやタブレットに話しかけると、ネコが返事を返します。
タイマーのサンプルプログラム
タイマーブロックで常に時間は測られています。
その結果を利用して10秒測定ゲームを作成しました。
イベントブロックを使ったサンプルプログラム
ここでは、【背景が[背景1]になったとき】ブロックとメッセージブロックを使ったプログラムをご紹介します。
プログラムの内容
ネコとサルがバスケットをするというメッセージをやり取りした後、背景はバスケットコートに変化させます。
次にメッセージのやり取り後、バスケットボールを表示させます。
ネコのプログラム
➀背景は最初は「ブルースカイ」に設定します。
➁ネコは「メッセージ1」を送ってサルの処理(➄)を待ちます。
➂「バスケットコート1」の背景に設定します。
➃【背景が[バスケットコート1]になったとき】にバスケットボールがあるかという「メッセージ2」を送ります。
サルのプログラム
➄「メッセージ1」を受取って、返事のセリフを言う
➅「メッセージ2」を受取って、返事のセリフを言い、「メッセージ3」を送る
バスケットボールのプログラム
➆プログラムの開始時は隠します。
➇「メッセージ3」を受取って、表示させます。
まとめ
今回はスクラッチのイベントについて解説していきましたが、いかがだったでしょうか?
サンプルプログラムを参考にスクラッチのプロジェクトを作成して、動きを確認してみてくださいね。
また、他にもいくつか、別の記事にてプログラムをご紹介していますので、参考にしてみてください。
コメント