提供: Japanese Scratch-Wiki
みどりのはたがクリックされたとき | |
@greenFlag が押されたとき::events hat
| |
カテゴリ | イベント |
タイプ | ハット |
ついか | Scratch 1.0 |
みどりのはたがクリックされたときブロック(イベントブロック/ハットブロック)は、みどりのはたがクリックされたときに、したにくまれたスクリプトをじっこうするブロックである。このスクリプトからほかのスクリプトをかいしすることで、プログラムぜんたいがじっこうされていく。
このブロックをつかわないでプロジェクトをじっこうしようとすると、キーがおされたこと、または、スプライト(ステージ)がクリックされたことをけんちするほうほうがかんがえられるが、このばあい、さいしょのスクリプトからひきおこされたスクリプトのどうさがすべておわっただんかいで、プロジェクトがしゅうりょうする。 このブロックをつかわないプロジェクトをつくるることはできるが、すいしょうしない。もどりのはたはプロジェクトのかいしをあらわし、このブロックによってプロジェクトのかいしポイントがはんだんできるからである。
なお、このブロックはScratchでいちばんおおくつかわれているブロックである。
しようれい
ふつう、プロジェクトをかいしするといろいろなどうさがはまるが、これはそれらのどうさがこのブロックのしたにかかれれているからである。このブロックのよくあるしようれいをつぎにあげる。
- プロジェクトをかいし
- リストのようそをすべてさくじょする
@greenFlag が押されたとき::events hat [リスト v]のすべてをさくじょする::list
- へんすうをリセット
@greenFlag が押されたとき::events hat [へんすう v]を(0)にする
@greenFlag が押されたとき::events hat かくす::looks コスチュームを [コスチューム1 v] にする
- すべてのペンをけす
@greenFlag が押されたとき::events hat けす::pen
- おんがくをさいせいする
@greenFlag が押されたとき::events hat ずっと おわるまで [きょく v] のおとをならす::sound end
- クローンをつくる
@greenFlag が押されたとき::events hat [じぶんじしん v] のクローンをつくる::control
うえにかいてあるようなブロックをじっこうしたあとも、スクリプトはただしくつづく。
@greenFlag が押されたとき::events hat がぞうこうかをなくす::looks xざひょうを (0) 、yざひょうを (0) にする::motion [はじめ! v]をおくる::control ずっと もし <(メーター) < [0]> なら [あなたのまけ v]をおくる::events end end
エラー
1つのプロジェクトのなかでこのブロックを2ついじょうつかっていると、プロジェクトをじっこうしたときにりゆうがとくていしづらいエラーをひきおこすことがある(たとえば、スタートボタンを2かいおすたびにエラーがはっせいする、どうさのタイミングがずれるなどのことがおこる)。 このエラーにたいするもっともシンプルなかいひさくは、「みどりのはたがブロックされたとき」は1つだけつかって、そのなかに() をおくるブロックをいれて、プロジェクトをはじめたときにじっこうしたいそのほかのスクリプトは、すべてそのメッセージでじっこうされるようにするというものだ。そのほかにも、みどりのはたをなんかいかクリックする、ターボモードでじっこうするというかいひさくもある。
@greenFlag が押されたとき::events hat [message1 v]をおくる::events
べつのブロックでのひょうげん
[タイマー v] > (-1) のとき [Hello world!] という::looks
げんざい、このブロックのだいようとしてきのうするのは、うえのスクリプトだけである。 Scratchは、プロジェクトをさいしょにひらいたときすべてのハットブロックをきゅうみんじょうたいにしており、みどりのはたがクリックされたタイミングで、タイマーが0にセットされて、「みどりのはたがクリックされたとき」ブロックがどうさを始める。 じょうきのスクリプトには1つだけもんだいがある。プロジェクトの「なかをみる」をクリックしたときに、じどうてきにどうさをはじめてしまうというてんである。
[Scratch-StartClicked v] をうけとったとき::events hat [Hello world!] という::looks
Scratch2.0よりまえのバージョンでは、うえのブロックでだいようすることができた。
ストップがクリックされたとき
おおくのユーザーから「ストップがクリックされたとき」というイベントブロックをどうにゅうしてほしいとのこえがあがっているが、これまでこのようぼうは、「ストップボタンは、すべてのプロジェクトをていしさせるためのものであり、あらたなスクリプトのトリガーとしてきのうさせるつもりはない」というりゆうでまいかいきゃっかされている。
うえのように「ストップがクリックされたとき」になんらかのスクリプトをじっこうさせたいときは、つぎのようにけばできる。
ていぎ {チェック::custom}::hat custom タイマーをリセット // 0.1びょうごとにタイマーをリセットして、タイマーちを0.2よりひくくたもつ (0.1)びょうまつ::control @greenFlag が押されたとき::events hat チェック::custom [タイマー v] > (0.2) のとき // ストップボタンがクリックされたとき、タイマーがリセットされなくなるため、0.2いじょうになる ... // ストップボタンがクリックされたときじっこうするスクリプトをかく チェック::custom