提供:Japanese Scratch-Wiki
このきじは ひらがなでよめます。ひらがなでよむ
() まで繰り返す | |
<> まで繰り返す
| |
カテゴリ | 制御 |
タイプ | C型 |
追加 | Scratch 1.1 |
() まで繰り返すブロック(制御ブロック/C型ブロック)は、与えられた真偽ブロックの結果が真(True:はい)になるまでC型の内部に入れたコードを繰り返し実行するブロックである。真になった後は、このブロックの下にあるブロックに処理が移動する。このコードの動作は、Scratch以外のプログラミング言語のおけるwhile not
ループと似ている。
使用例
条件が真(成立する)まで中に入れたコードを繰り返し実行するため、目的の状態になるまで同じ処理を繰り返したい場合に、このブロックを使用するとよい。 よくある例は次のとおり。
- x座標やy座標が指定した値になるまで、スプライトを動かす
<(x座標) = [100]>まで繰り返す (10) 歩動かす
- マウスのボタンを離すまで、スプライトをマウスの動きに合わせて動かす
<<マウスが押された>ではない>まで繰り返す (マウスのポインター v)へ行く
タイマーをリセット <(タイマー) > (繰り返し時間)>まで繰り返す ... end
遅延の発生
このブロックの実行時にはブロックの一番下の矢印マークの部分で遅延が発生する。それを防ぐためには次のように定義ブロックの「再描画せずに実行する」を使用するとよい。
移動::custom 定義 移動//「再描画せずに実行する」にチェックを入れる。 <(端 v)に触れた>まで繰り返す x座標を(10)ずつ変える end
別のブロックによる表現
- 詳細は「代用ブロック一覧」を参照
このブロックの動作は、次のようにブロックを組んだ場合と同じである。
ずっと ... もし <条件::grey> なら (次へ v)を送る [このスクリプトを止める v] end [次へ v]を受け取ったとき . . .
関連項目
() 秒待つ • () 回繰り返す • ずっと • もし () なら • もし () なら, でなければ • () まで待つ • () まで繰り返す • () を止める • クローンされたとき • () のクローンを作る • このクローンを削除するその他のブロック
|
GitHubでソースを見る: LLK/scratch-flash /src/interpreter/Interpreter.as 478行目