こちらは、スクラッチの「このスプライトが押されたとき」ブロックの使い方を、詳しく徹底解説しています!
「このスプライトが押されたとき」ブロック
「このスプライトが押されたとき」ブロックは、このスプライトがクリックされたときに、下にあるスクリプトを実行します。
また、背景を選択した場合は、「ステージが押されたとき」ブロックに名称が変わります。
ハットブロック
スクラッチのブロックには、役割に応じたブロック形状の決まりがあります。
ブロックの形状については、「Scratchのブロックの種類と役割について」をご確認ください。
「このスプライトが押されたとき」ブロックは、ハットブロック(Hat Block)に該当します。
ハットブロックは、上の部分が丸くなっており、ハットブロックの上にはブロックを置くことができませんが、下の部分には凸がついており、下にブロックをつなげることができます。
この下につなげたブロック群(スクリプト)を実行するためのブロックです。
「このスプライトが押されたとき」ブロックの使い方
それでは、「このスプライトが押されたとき」ブロックの使い方を見ていきましょう。
こちらは、このスプライトがクリックされたときに、「スプライトが押されました。」と言うプログラムです。
このスプライトをクリックすると、下にあるスクリプトが実行されます。
実際に、スプライトをクリックすると、プログラム通り「スプライトが押されました。」と言っています。
使い方としては、この通りですが、注意点があるので、そちらを紹介します。
「このスプライトが押されたとき」ブロックの注意点
「このスプライトが押されたとき」ブロックを使う時の注意点は、以下の3つです。
- スプライトの透明部分を押しても、動作しない
- スプライト同士重なっている見えないところを押しても、動作しない
- 非表示のスプライトを押しても、動作しない
- 幽霊効果が100%でない場合は、動作する
スプライトの透明部分を押しても、動作しない
まず、スプライトの透明部分を押しても、動作しません。
例えば、「スクラッチキャット」スプライトの赤丸のところは、透明の部分で、こちらをクリックしても動作しません。
スプライトがどうなっているか、コスチュームの「ペイントエディター」を確認するとこの通り。
背景の市松模様になっている部分が透明の部分です。
こちらをクリックしても反応しませんので、スプライトの中心をクリックするようにしましょう。
また、こちらはスプライトの背景に白い四角形を配置した例です。
この場合は、透明でないので、ステージ上の赤丸をクリックすると、動作します。
スプライト同士重なっている見えないところを押しても、動作しない
次に、スプライト同士重なっていた場合、クリックしたいスプライトが背面にあるところをクリックしても、動作しません。
こちらの例では、前面にある「Ball」スプライトの赤丸のところをクリックしました。
この場合は当然動作しません。
非表示のスプライトを押しても、動作しない
スクラッチのブロックには、スプライトを非表示にする「隠す」ブロックがあります。
こちらを使って、スプライトを非表示にした場合、クリックしたとしても動作はしません。
幽霊効果が100%でない場合は、動作する
「隠す」ブロック以外に、スプライトを隠す方法として、「▢の効果を〇にする」ブロックを使った幽霊効果があります。
幽霊効果は、スプライトを透明にする効果があり、「100」にすると「隠す」ブロックと同様に、クリックしても動作しません。
しかし、「99」にするとステージ上では、肉眼では消えているように見えますが、クリックすると動作します。
イベントブロック一覧
「イベント」ブロックには、以下の8個のブロックが用意されています。
- ハットブロック・・・6つ
- スタックブロック・・・2つ
ブロックの色は、黄色で統一されています。
スクリプトを実行するトリガー(きっかけ)としてよく利用されます。
イベントブロック | 動作 |
---|---|
緑の旗が押されたとき 緑の旗がクリックされたときに、下にあるスクリプトを実行する |
|
▢キーが押されたとき 指定したキーが押されたときに、下にあるスクリプトを実行する |
|
このスプライトが押されたとき このスプライトがクリックされたときに、下にあるスクリプトを実行する ※背景のブロックでは、「ステージが押されたとき」に名称が変わる |
|
背景が▢になったとき 背景が指定した背景になったときに、下にあるスクリプトを実行する |
|
▢>〇のとき 指定した値より指定した項目の値が大きいときに、下にあるスクリプトを実行する |
|
メッセージ▢受け取ったとき 指定したメッセージを受け取ったときに、下にあるスクリプトを実行する |
|
メッセージ〇を送る 指定したメッセージをスクラッチプログラム全体へ送る |
|
メッセージ〇を送って待つ 指定したメッセージをスクラッチプログラム全体へ送り、受け取った側のスクリプトが終わるまで待つ |