提供: Japanese Scratch-Wiki
細 (全部消す,出典がないなら見出しはいらないのでは) |
|||
(6人の利用者による、間の21版が非表示) | |||
1行目: | 1行目: | ||
− | {{ブロック | + | {{ひらがなヘッダ}}{{ブロック |
− | |name = | + | |name = 緑の旗が押されたとき |
− | | | + | |block = <sb>@greenFlag が押されたとき::events hat</sb> |
− | |category = イベント | + | |category = [[イベントブロック|イベント]] |
− | |type = ハットブロック | + | |type = [[ハットブロック|ハット]] |
|added = 1.0 | |added = 1.0 | ||
− | }} | + | }} |
− | + | '''緑の旗が押されたとき'''[[ブロック]]([[イベントブロック]]/[[ハットブロック]])は、緑の旗が押されたときに、下に組まれたスクリプトを実行するブロックである。このスクリプトから他のスクリプトを開始することで、プログラム全体が実行されていく。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | このブロックを使わないでプロジェクトを実行しようとすると、キーが押されたこと、または、スプライト(ステージ)が押されたことを検知する方法が考えられるが、この場合、最初のスクリプトから引き起こされたスクリプトの動作がすべて終わった段階で、プロジェクトが終了する。 |
− | + | このブロックを使わないプロジェクトを作成することは可能だが、推奨されない。緑の旗はプロジェクトの開始を表し、このブロックによってプロジェクトの開始ポイントが判断できるからである。 | |
− | + | ||
− | + | なお、このブロックはScratchで最も多く使われているブロックである。 | |
− | + | ||
+ | [[Scratch 3.0]]の初期でブロック名が変わった。以前は「緑の旗がクリックされたとき」であった。 | ||
+ | |||
+ | ==使用例== | ||
+ | 通常、プロジェクトを開始するといろいろな動作が始まるが、これはそれらの動作がこのブロックの下に記述されているからである。このブロックのよくある使用例を次にあげる。 | ||
− | + | *[[プロジェクト]]を開始 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | @ | + | *[[リスト]]の要素をすべて削除する |
− | [ | + | <scratchblocks>@greenFlag が押されたとき::events hat |
− | </scratchblocks> | + | [リスト v]のすべてを削除する::list</scratchblocks> |
− | + | *[[変数]]をリセット | |
− | < | + | <scratchblocks>@greenFlag が押されたとき::events hat |
− | + | [変数 v]を(0)にする</scratchblocks> | |
− | <scratchblocks> | ||
− | @ | + | *[[スプライト]]の表示/非表示を切り替えたり、[[コスチューム]]を変えたりしてシーンの設定を行う |
+ | <scratchblocks>@greenFlag が押されたとき::events hat | ||
隠す | 隠す | ||
− | コスチュームを [ | + | コスチュームを [コスチューム1 v] にする</scratchblocks> |
− | </ | ||
− | |||
− | |||
− | |||
− | + | *すべてのペンを消す | |
− | + | <scratchblocks>@greenFlag が押されたとき::events hat | |
− | < | + | 全部消す::pen</scratchblocks> |
− | < | ||
− | |||
− | |||
− | |||
− | @ | + | *音楽を再生する |
+ | <scratchblocks>@greenFlag が押されたとき::events hat | ||
ずっと | ずっと | ||
− | + | 終わるまで [曲 v] の音を鳴らす | |
− | 終わるまで [ | + | end</scratchblocks> |
− | end | ||
− | < | + | *[[クローン]]を作成する |
− | < | + | <scratchblocks>@greenFlag が押されたとき::events hat |
− | + | [自分自身 v] のクローンを作る</scratchblocks> | |
− | |||
− | |||
− | @ | + | 上記のようなブロックを実行した後も、スクリプトは正常に継続される。 |
+ | <scratchblocks>@greenFlag が押されたとき::events hat | ||
画像効果をなくす | 画像効果をなくす | ||
x座標を (0) 、y座標を (0) にする | x座標を (0) 、y座標を (0) にする | ||
+ | [開始! v]を送る | ||
ずっと | ずっと | ||
− | + | もし <(メーター) < [0]> なら | |
− | もし <( | ||
− | |||
[あなたの負け v]を送る | [あなたの負け v]を送る | ||
− | |||
end | end | ||
+ | end</scratchblocks> | ||
− | + | ==エラー== | |
+ | 1つのプロジェクト内でこのブロックを複数使用していると、プロジェクト実行時に原因が特定しづらいエラーを引き起こすことがある(たとえば、スタートボタンを2回押すたびにエラーが発生する、動作のタイミングがずれるなどの現象が起こる)。 | ||
+ | このエラーに対するもっともシンプルな回避策は、「緑の旗が押されたとき」は1つだけ使用して、その中に[[() を送る (ブロック)|() を送る]]ブロックを入れて、プロジェクト開始時に実行したいその他のスクリプトは、すべてそのメッセージで実行されるようにするというものだ。その他に、緑の旗を何回か押す、[[ターボモード]]で実行するという回避策もある。 | ||
+ | <scratchblocks> | ||
+ | @greenFlag が押されたとき::events hat | ||
+ | [message1 v]を送る | ||
</scratchblocks> | </scratchblocks> | ||
− | |||
− | == | + | ==別のブロックでの表現== |
− | |||
− | |||
− | |||
<scratchblocks> | <scratchblocks> | ||
− | + | [タイマー v] > (-1) のとき | |
− | + | [Hello world!] と言う | |
− | [ | ||
</scratchblocks> | </scratchblocks> | ||
− | |||
− | |||
− | + | 現在、このブロックの代用として機能するのは、上記のスクリプトだけである。 | |
− | + | [[Scratch]]は、プロジェクトを最初に開いたときすべてのハットブロックを休眠状態にしており、緑の旗が押されたタイミングで、タイマーが0にセットされて、「緑の旗が押されたとき」ブロックが動作を始める。 | |
− | [[Scratch]] | + | 上記のスクリプトには1つだけ問題がある。プロジェクトの「中を見る」を押したときに、自動的に動作を開始してしまうという点である。 |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<scratchblocks> | <scratchblocks> | ||
− | + | [Scratch-StartClicked v] を受け取ったとき | |
− | + | [Hello world!] と言う | |
− | |||
− | |||
− | |||
− | |||
− | |||
</scratchblocks> | </scratchblocks> | ||
− | |||
− | |||
− | + | Scratch2.0より前のバージョンでは、上記のブロックで代用することができた。 | |
− | |||
− | + | ==停止ボタンが押されたとき== | |
− | + | {{主な記事|停止後にスクリプトを動かす}} | |
− | + | 多くのユーザーから「停止ボタンが押されたとき」というイベントブロックを導入してほしいとの声が上がっているが、これまでこの要望は、「停止ボタンは、すべてのプロジェクトを停止させるためのものであり、新たなスクリプトの実行用として機能させるつもりはない」という理由で毎回却下されている。 | |
− | |||
− | |||
− | |||
− | + | {{イベントブロック}} | |
− | + | [[カテゴリ:イベントブロック]] | |
[[en:When Green Flag Clicked (block)]] | [[en:When Green Flag Clicked (block)]] | ||
[[de:Wenn Grüne Flagge angeklickt (Block)]] | [[de:Wenn Grüne Flagge angeklickt (Block)]] | ||
[[id:ketika bendera hijau diklik (balok)]] | [[id:ketika bendera hijau diklik (balok)]] | ||
− | [[ru:Когда зелёный флаг нажат (блок)]] | + | [[ru:Когда зелёный флаг нажат (блок)]]{{デフォルトソート:みとりのはたかおされたとき (ふろつく)}} |
2020年5月6日 (水) 05:15時点における最新版
緑の旗が押されたとき | |
@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 全部消す::pen
- 音楽を再生する
@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より前のバージョンでは、上記のブロックで代用することができた。
停止ボタンが押されたとき
- 詳細は「停止後にスクリプトを動かす」を参照
多くのユーザーから「停止ボタンが押されたとき」というイベントブロックを導入してほしいとの声が上がっているが、これまでこの要望は、「停止ボタンは、すべてのプロジェクトを停止させるためのものであり、新たなスクリプトの実行用として機能させるつもりはない」という理由で毎回却下されている。