提供:Japanese Scratch-Wiki

(3.0ify) (canned edit summary)
1行目: 1行目:
{{ひらがなヘッダ}}{{ブロック
{{ひらがなヘッダ}}{{ブロック
|name = 緑の旗がクリックされたとき
|name = 緑の旗が押されたとき
|block = <sb>@greenFlag が押されたとき::events hat</sb>
|block = <sb>@greenFlag が押されたとき::events hat</sb>
|category = [[イベントブロック|イベント]]
|category = [[イベントブロック|イベント]]
6行目: 6行目:
|added = 1.0
|added = 1.0
}}
}}
'''緑の旗がクリックされたとき'''[[ブロック]]([[イベントブロック]]/[[ハットブロック]])は、緑の旗がクリックされたときに、下に組まれたスクリプトを実行するブロックである。このスクリプトから他のスクリプトを開始することで、プログラム全体が実行されていく。
'''緑の旗が押されたとき'''[[ブロック]]([[イベントブロック]]/[[ハットブロック]])は、緑の旗が押されたときに、下に組まれたスクリプトを実行するブロックである。このスクリプトから他のスクリプトを開始することで、プログラム全体が実行されていく。


このブロックを使わないでプロジェクトを実行しようとすると、キーが押されたこと、または、スプライト(ステージ)がクリックされたことを検知する方法が考えられるが、この場合、最初のスクリプトから引き起こされたスクリプトの動作がすべて終わった段階で、プロジェクトが終了する。
このブロックを使わないでプロジェクトを実行しようとすると、キーが押されたこと、または、スプライト(ステージ)が押されたことを検知する方法が考えられるが、この場合、最初のスクリプトから引き起こされたスクリプトの動作がすべて終わった段階で、プロジェクトが終了する。
このブロックを使わないプロジェクトを作成することは可能だが、推奨されない。緑の旗はプロジェクトの開始を表し、このブロックによってプロジェクトの開始ポイントが判断できるからである。
このブロックを使わないプロジェクトを作成することは可能だが、推奨されない。緑の旗はプロジェクトの開始を表し、このブロックによってプロジェクトの開始ポイントが判断できるからである。


なお、このブロックはScratchで最も多く使われているブロックである。
なお、このブロックはScratchで最も多く使われているブロックである。
[[Scratch 3.0]]の初期でブロック名が変わった。以前は「緑の旗がクリックされたとき」であった。


==使用例==
==使用例==
58行目: 60行目:
==エラー==
==エラー==
1つのプロジェクト内でこのブロックを複数使用していると、プロジェクト実行時に原因が特定しづらいエラーを引き起こすことがある(たとえば、スタートボタンを2回押すたびにエラーが発生する、動作のタイミングがずれるなどの現象が起こる)。
1つのプロジェクト内でこのブロックを複数使用していると、プロジェクト実行時に原因が特定しづらいエラーを引き起こすことがある(たとえば、スタートボタンを2回押すたびにエラーが発生する、動作のタイミングがずれるなどの現象が起こる)。
このエラーに対するもっともシンプルな回避策は、「緑の旗がブロックされたとき」は1つだけ使用して、その中に[[() を送る (ブロック)|() を送る]]ブロックを入れて、プロジェクト開始時に実行したいその他のスクリプトは、すべてそのメッセージで実行されるようにするというものだ。その他に、緑の旗を何回かクリックする、[[ターボモード]]で実行するという回避策もある。
このエラーに対するもっともシンプルな回避策は、「緑の旗が押されたとき」は1つだけ使用して、その中に[[() を送る (ブロック)|() を送る]]ブロックを入れて、プロジェクト開始時に実行したいその他のスクリプトは、すべてそのメッセージで実行されるようにするというものだ。その他に、緑の旗を何回か押す、[[ターボモード]]で実行するという回避策もある。


<scratchblocks>
<scratchblocks>
72行目: 74行目:


現在、このブロックの代用として機能するのは、上記のスクリプトだけである。
現在、このブロックの代用として機能するのは、上記のスクリプトだけである。
[[Scratch]]は、プロジェクトを最初に開いたときすべてのハットブロックを休眠状態にしており、緑の旗がクリックされたタイミングで、タイマーが0にセットされて、「緑の旗がクリックされたとき」ブロックが動作を始める。
[[Scratch]]は、プロジェクトを最初に開いたときすべてのハットブロックを休眠状態にしており、緑の旗が押されたタイミングで、タイマーが0にセットされて、「緑の旗が押されたとき」ブロックが動作を始める。
上記のスクリプトには1つだけ問題がある。プロジェクトの「中を見る」をクリックしたときに、自動的に動作を開始してしまうという点である。
上記のスクリプトには1つだけ問題がある。プロジェクトの「中を見る」を押したときに、自動的に動作を開始してしまうという点である。


<scratchblocks>
<scratchblocks>
82行目: 84行目:
Scratch2.0より前のバージョンでは、上記のブロックで代用することができた。
Scratch2.0より前のバージョンでは、上記のブロックで代用することができた。


==停止ボタンがクリックされたとき==
==停止ボタンが押されたとき==
多くのユーザーから「停止ボタンがクリックされたとき」というイベントブロックを導入してほしいとの声が上がっているが、これまでこの要望は、「停止ボタンは、すべてのプロジェクトを停止させるためのものであり、新たなスクリプトの実行用として機能させるつもりはない」という理由で毎回却下されている。
{{主な記事|停止後にスクリプトを動かす}}
 
多くのユーザーから「停止ボタンが押されたとき」というイベントブロックを導入してほしいとの声が上がっているが、これまでこの要望は、「停止ボタンは、すべてのプロジェクトを停止させるためのものであり、新たなスクリプトの実行用として機能させるつもりはない」という理由で毎回却下されている。
上記のように「停止ボタンがクリックされたとき」に何らかのスクリプトを実行させたいときは、次のように記述できる。
<scratchblocks>定義 チェック
ずっと
タイマーをリセット // 0.1秒ごとにタイマーをリセットして、タイマー値を0.2より低く保つ
(0.1)秒待つ
end
 
@greenFlag が押されたとき::events hat
チェック


[タイマー v] > (0.2) のとき // ストップボタンがクリックされたとき、タイマーがリセットされなくなるため、0.2以上になる
== 出典 ==
... // ストップボタンがクリックされたとき実行するスクリプトを記述する
<references/>
チェック</scratchblocks>


{{イベントブロック}}
{{イベントブロック}}

2019年1月28日 (月) 12:54時点における版

このきじは ひらがなでよめます。ひらがなでよむ
緑の旗が押されたとき
@greenFlag が押されたとき::events hat
カテゴリ イベント
タイプ ハット
追加 Scratch 1.0

緑の旗が押されたときブロックイベントブロックハットブロック)は、緑の旗が押されたときに、下に組まれたスクリプトを実行するブロックである。このスクリプトから他のスクリプトを開始することで、プログラム全体が実行されていく。

このブロックを使わないでプロジェクトを実行しようとすると、キーが押されたこと、または、スプライト(ステージ)が押されたことを検知する方法が考えられるが、この場合、最初のスクリプトから引き起こされたスクリプトの動作がすべて終わった段階で、プロジェクトが終了する。 このブロックを使わないプロジェクトを作成することは可能だが、推奨されない。緑の旗はプロジェクトの開始を表し、このブロックによってプロジェクトの開始ポイントが判断できるからである。

なお、このブロックはScratchで最も多く使われているブロックである。

Scratch 3.0の初期でブロック名が変わった。以前は「緑の旗がクリックされたとき」であった。

使用例

通常、プロジェクトを開始するといろいろな動作が始まるが、これはそれらの動作がこのブロックの下に記述されているからである。このブロックのよくある使用例を次にあげる。

@greenFlag が押されたとき::events hat
[リスト v]のすべてを削除する::list
@greenFlag が押されたとき::events hat
[変数 v]を(0)にする
@greenFlag が押されたとき::events hat
隠す
コスチュームを [コスチューム1 v] にする
  • すべてのペンを消す
@greenFlag が押されたとき::events hat
消す
  • 音楽を再生する
@greenFlag が押されたとき::events hat
ずっと
終わるまで [曲 v] の音を鳴らす
end
@greenFlag が押されたとき::events hat
[自分自身 v] のクローンを作る

上記のようなブロックを実行した後も、スクリプトは正常に継続される。

@greenFlag が押されたとき::events hat
画像効果をなくす
x座標を (0) 、y座標を (0) にする
[開始! v]を送る
ずっと
もし <(メーター) < [0]> なら
[あなたの負け v]を送る
end
end

エラー

1つのプロジェクト内でこのブロックを複数使用していると、プロジェクト実行時に原因が特定しづらいエラーを引き起こすことがある(たとえば、スタートボタンを2回押すたびにエラーが発生する、動作のタイミングがずれるなどの現象が起こる)。 このエラーに対するもっともシンプルな回避策は、「緑の旗が押されたとき」は1つだけ使用して、その中に() を送るブロックを入れて、プロジェクト開始時に実行したいその他のスクリプトは、すべてそのメッセージで実行されるようにするというものだ。その他に、緑の旗を何回か押す、ターボモードで実行するという回避策もある。

@greenFlag が押されたとき::events hat
[message1 v]を送る

別のブロックでの表現

[タイマー v] > (-1) のとき
[Hello world!] と言う

現在、このブロックの代用として機能するのは、上記のスクリプトだけである。 Scratchは、プロジェクトを最初に開いたときすべてのハットブロックを休眠状態にしており、緑の旗が押されたタイミングで、タイマーが0にセットされて、「緑の旗が押されたとき」ブロックが動作を始める。 上記のスクリプトには1つだけ問題がある。プロジェクトの「中を見る」を押したときに、自動的に動作を開始してしまうという点である。

[Scratch-StartClicked v] を受け取ったとき
[Hello world!] と言う

Scratch2.0より前のバージョンでは、上記のブロックで代用することができた。

停止ボタンが押されたとき

詳細は「停止後にスクリプトを動かす」を参照

多くのユーザーから「停止ボタンが押されたとき」というイベントブロックを導入してほしいとの声が上がっているが、これまでこの要望は、「停止ボタンは、すべてのプロジェクトを停止させるためのものであり、新たなスクリプトの実行用として機能させるつもりはない」という理由で毎回却下されている。

出典


Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。