提供: Japanese Scratch-Wiki

(→‎他の考え方: スクリプトと説明が一致しなかったため、英語版から補完)
12行目: 12行目:
 
<!--ここから未編集-->
 
<!--ここから未編集-->
 
==使用例==
 
==使用例==
プロジェクトが開始されると、非常に多くのことが起こる。一般的な使用例は以下の通りだ。
+
通常、プロジェクトを開始するといろいろな動作が始まるが、これはそれらの動作がこのブロックの下に記述されているからである。このブロックのよくある使用例を次にあげる。
 +
 
 
*[[プロジェクト]]を開始
 
*[[プロジェクト]]を開始
*[[リスト]]アイテムを全て削除する
+
*[[リスト]]の要素をすべて削除する
 
<scratchblocks>@ がクリックされたとき
 
<scratchblocks>@ がクリックされたとき
 
(すべて v)番目を[リスト v]から削除する</scratchblocks>
 
(すべて v)番目を[リスト v]から削除する</scratchblocks>
 +
 
*[[変数]]をリセット
 
*[[変数]]をリセット
 
<scratchblocks>@ がクリックされたとき
 
<scratchblocks>@ がクリックされたとき
 
[変数 v]を(0)にする</scratchblocks>
 
[変数 v]を(0)にする</scratchblocks>
*[[スプライト]]の表示/非表示を切り替えたり、[[コスチューム]]を変えたりしてシーンを設定する
+
 
 +
*[[スプライト]]の表示/非表示を切り替えたり、[[コスチューム]]を変えたりしてシーンの設定を行う
 
<scratchblocks>@ がクリックされたとき
 
<scratchblocks>@ がクリックされたとき
 
隠す
 
隠す
 
コスチュームを [コスチューム1 v] にする</scratchblocks>
 
コスチュームを [コスチューム1 v] にする</scratchblocks>
*全てのペンを消す
+
 
 +
*すべてのペンを消す
 
<scratchblocks>@ がクリックされたとき
 
<scratchblocks>@ がクリックされたとき
 
消す</scratchblocks>
 
消す</scratchblocks>
 +
 
*音楽を再生する
 
*音楽を再生する
 
<scratchblocks>@ がクリックされたとき
 
<scratchblocks>@ がクリックされたとき
 
ずっと
 
ずっと
終わるまで [v] の音を鳴らす
+
終わるまで [v] の音を鳴らす
 
end</scratchblocks>
 
end</scratchblocks>
*[[クローン]]を作成
+
 
 +
*[[クローン]]を作成する
 
<scratchblocks>@ がクリックされたとき
 
<scratchblocks>@ がクリックされたとき
 
[自分自身 v] のクローンを作る</scratchblocks>
 
[自分自身 v] のクローンを作る</scratchblocks>
これらのブロックの実行後も、スクリプトは正常に継続できる。
+
 
 +
上記のようなブロックを実行した後も、スクリプトは正常に継続される。
 +
 
 
<scratchblocks>@ がクリックされたとき
 
<scratchblocks>@ がクリックされたとき
 
画像効果をなくす
 
画像効果をなくす

2016年6月16日 (木) 04:40時点における版

緑の旗がクリックされたとき
カテゴリ イベント
タイプ ハットブロック
追加 Scratch 1.0

緑の旗がクリックされたときブロックは、イベントカテゴリのハットブロックである。緑の旗がクリックされた時に、このブロックの下に組まれたブロックが実行される。これらのスクリプトは他のスクリプトをアクティブにし、全体のプログラムを有効にすることができる。

このブロックを使わない場合、プロジェクトを実行することができる​​方法は、キーの押下またはスプライト(ステージ)のクリックを感知する以外の方法は無い。また、このブロックはScratchで最も多く使われているブロックである。

このブロックを使わずプロジェクトを作成することは可能だが、推奨されない。旗はプロジェクトの開始を表し、プロジェクトが開始されたときにこのブロックが感知されるからだ。

使用例

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

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

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

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

エラー

たくさんのブロックを同時に実行させるとプロジェクトの実行した時に見つかりにくいエラーが起こる可能性がある。

だがプロジェクトを実行させた時にメッセージ(Broadcast)を使って実行させると容易に直る。
(あまりプロジェクトの開始時に同時にブロックを実行させるのも良くない)


@ がクリックされたとき
[message1 v]を送る



別のブロックで表現

 [timer v] > (-1) のとき
say [ハローワールド!]

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

[Scratch-スタートが押された v] を受け取ったとき
[ハローワールド!] と言う


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


ストップがクリックされたとき

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

上記のように「ストップがクリックされたとき」に何らかのスクリプトを実行させたいときは、次のように記述できる。

定義 チェック
ずっと
タイマーをリセット // 0.1秒ごとにタイマーをリセットして、タイマー値を0.2より低く保つ
(0.1)秒待つ 
end


@ がクリックされたとき
チェック


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