提供: Japanese Scratch-Wiki

(@greenFlag に関する変更 (bot))
(半自動処理: GitHubテンプレート)
63行目: 63行目:
  
 
[[en:Broadcast () and Wait (block)]]
 
[[en:Broadcast () and Wait (block)]]
[[de:Sende () an alle und warte (Block)]]
+
[[de:Sende () an alle und warte (Block)]]{{GitHub|scratch-flash|/src/interpreter/|Interpreter.as|470|branch=646523e6846ad0dd993213a38b46fe2ea511d026}}

2018年11月4日 (日) 10:44時点における版

このきじは ひらがなのページがありません。ごめんなさい。編集者向け:作成する
() を送って待つ
[メッセージ1 v] を送って待つ
カテゴリ イベント
タイプ スタック

() を送って待つブロックイベントブロックスタックブロック)は、Scratchプロジェクト全体にメッセージを送るブロックである。このブロックを実行すると、すべてのスプライトにおいて、送信メッセージに対応する「() を受け取ったとき」ブロックのスクリプトが実行を開始する。このブロックの場合は、各スクリプトにメッセージを送ったあと、受け取ったすべてのスクリプトが動作を終えるまで処理を次に渡さず、その地点で待ちつづける。(この点が、メッセージを受け取った側のスクリプトが終わるのを待たずに、処理を次のブロックに渡す() を送ると異なる)。このようなメッセージの送受信は、スプライトやスクリプト間で何らかのやりとりを行うときに便利である。

使用例

プロジェクトの開始後、ユーザーの操作によることなく実行したいスクリプトがある場合、メッセージを利用するのが一番簡単な方法である。このブロックのよくある使用例は次のとおり:

[スプライト1のトーク v] を送る
[やあ、ゴボ!] と (2) 秒言う
[スプライト2のトーク v] を送って待つ
[今日は食べ物について話しましょう] と (2) 秒言う
  • よくあるアニメーション
(1) 秒でx座標を (-148) に、y座標を (80) に変える
[meow v] の音を鳴らす
[移動 v] を送って待つ
  • 開始時にオンラインデータのデコードが終わるまで待つ
@greenFlag がクリックされたとき
[クラウドデータのデコード v] を送って待つ
[前回終了した地点から開始するために、パスワードを入力してください!] と聞いて待つ
[i v] を [1] にする
<((i) 番目([ユーザー v])) = (ユーザーネーム)> まで繰り返す
[i v] を (1) ずつ変える
end
decrypt password ::custom
もし <(答え) = (正しいパスワード)> なら
[ゲーム開始 v] を送る
でなければ
[ゲーム開始不能 v] を送る
end
  • Meshプロジェクト
[chat v] を [1] にする
[P2 chat v] を送って待つ

再帰

詳細は「再帰」を参照

メッセージを送受信するブロックを利用すると、「末尾再帰」と呼ばれる再帰を実現できる。再帰は、ブロック定義や特定のスクリプト(ここでは、メッセージ送受信スクリプト)内で自分自身を呼び出すことで起こる現象であり、フラクタルや無限ループなどを作成するのに使用できる。

関連項目