提供: 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
[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

テンプレート:イベントブロック/ひらがな