提供: Japanese Scratch-Wiki

 
(13人の利用者による、間の36版が非表示)
1行目: 1行目:
 制御項目にはいる'''○回繰り返す'''や'''○まで繰り返す'''の様なブロックをは違い、'''ずっと'''ブロックは中に組まれたブロックを<br>永遠的に(ループ)実行するようにします。(もし'''(全て)を止める'''ブロックを実行した場合 ”ずっと” ブロックも停止します。)
+
{{エイプリルフール}}
 +
{{ひらがなヘッダ}}{{ブロック
 +
|name = ずっと
 +
|block = <sb>ずっと</sb>
 +
|category = [[制御ブロック|制御]]
 +
|type = [[C型ブロック|C型]]
 +
}}
 +
[[ファイル:ずっと例.png|thumb|right|224px|ずっとブロックを使って描かせた絵の例]]
 +
'''ずっと'''[[ブロック]]([[制御ブロック]]/[[C型ブロック]])は、中に入れたブロックを繰り返し実行するブロックである。[[() 回繰り返す (ブロック)|() 回繰り返す]]ブロックと[[() まで繰り返す (ブロック)|() まで繰り返す]]ブロックも同様に繰り返し処理を行うが、これらとの違いは、「ずっと (ブロック)」では、ストップボタンを押すか、[[() を止める (ブロック)|() を止める]]ブロックを実行するまで繰り返しが終わらないことである。そのため、このブロックの底部には、次のブロックをつなげるための出っぱり(凸部)がない。このブロックの下に置かれたブロックは実行することができないからである。
  
 他のブロックでループを止める事は'''(全て)を止める'''ブロック以外止めることは出来ません。
+
このブロックでは、若干の遅延が発生する。そのため、実行時の速度を最適化するには、スクリプトをシングルフレーム型にすべきである。
  
 +
==使用例==
 +
無限ループが必要な場面は数多く存在するため、このブロックは[[Scratch]]でもっとも使用されることが多いブロックの1つである。よくある使用例は次のとおり。
  
==実用例==
+
*スプライトの位置を常に別のスプライトに合わせる
 +
<scratchblocks>ずっと
 +
[スプライト1 v] へ行く
 +
end</scratchblocks>
  
このブロックはほとんどの時に必要とされ多くプロジェクトに使われています。例えば
+
*音楽のループ再生
 +
<scratchblocks>ずっと
 +
終わるまで [バトルテーマ v] の音を鳴らす
 +
end</scratchblocks>
  
*一つのスプライトをずっと指定した場所へ移動させるコマンド
+
*アニメーション(手を振る動作など)
<br>
+
<scratchblocks>ずっと
[[ファイル:Move.PNG]]
+
(12) 回繰り返す
<br>
+
@turnRight (3) 度回す
*音楽のループ再生<br>
+
end
[[ファイル:Music.PNG]]
+
(12) 回繰り返す
<br>
+
@turnLeft (3) 度回す
*アニメーションのループさせるコマンド
+
end
<br>
+
end</scratchblocks>
[[ファイル:Animate.PNG]]
 
<br>
 
  
== 使い方 ==
+
== 別の方法 ==
 このブロックは2つの使い方に分ける事でき、まずひとつは永遠的にfalse(偽)の値が続けるためのブール演算式(真の値とfalse(偽)の値を指定されたプログラム)、<br>
+
<scratchblocks>
そしてループをキープするための漸化式(ぜんかしき)である。
+
<[1] = [73]> まで繰り返す
<br><br>
+
 
ブール演算式には'''()まで繰り返す'''のブロックが使われ、下記のようなブロックのようにtrue(真)の値になるまで永遠に実行します。<br>
+
end
[[ファイル:Bu-ru.PNG]]
+
</scratchblocks>
<br><br>
+
このようにしても、「ずっと」を実装できる。
ブール演算式を使ったプログラムの画像
+
Pythonなどでは、このような方法で「ずっと」を実装する。(実際には、「1=73」の部分が「False」になることが多い)
<br>
+
 
[[ファイル:Bu-ru1.PNG]]
+
==参照==
<br><br>
+
*[[() 回繰り返す (ブロック)|() 回繰り返す]]
漸化式は'''ずっと'''ブロックを使わなくともループさせることが出来ます。(下記)
+
*[[() まで繰り返す (ブロック)|() まで繰り返す]]
<br>
+
*[[再帰]]
[[ファイル:Zenka.PNG]]
+
 
<br><br>
+
{{制御ブロック}}
さらに下記のような計算で他のブロックにも影響を与えることができる。  (要編集)
+
 
<br>
+
[[en:Forever (block)]]
[[ファイル:Fractals.PNG]]
+
[[de:Wiederhole fortlaufend (Block)]]
<br>
+
[[nl:Herhaal]]
<blockquote>
+
[[カテゴリ:制御ブロック]]{{デフォルトソート:すつと (ふろつく)}}
半永遠的に増やせるブロックの例<br>
 
[[ファイル:Inf.PNG]]
 
</blockquote>
 
<br>'''''Editing...'''''
 

2020年12月19日 (土) 08:58時点における最新版

このきじは ひらがなのページがあります。ひらがなでよむ
ずっと
ずっと
カテゴリ 制御
タイプ C型
ずっとブロックを使って描かせた絵の例

ずっとブロック制御ブロックC型ブロック)は、中に入れたブロックを繰り返し実行するブロックである。() 回繰り返すブロックと() まで繰り返すブロックも同様に繰り返し処理を行うが、これらとの違いは、「ずっと (ブロック)」では、ストップボタンを押すか、() を止めるブロックを実行するまで繰り返しが終わらないことである。そのため、このブロックの底部には、次のブロックをつなげるための出っぱり(凸部)がない。このブロックの下に置かれたブロックは実行することができないからである。

このブロックでは、若干の遅延が発生する。そのため、実行時の速度を最適化するには、スクリプトをシングルフレーム型にすべきである。

使用例

無限ループが必要な場面は数多く存在するため、このブロックはScratchでもっとも使用されることが多いブロックの1つである。よくある使用例は次のとおり。

  • スプライトの位置を常に別のスプライトに合わせる
ずっと
[スプライト1 v] へ行く
end
  • 音楽のループ再生
ずっと
終わるまで [バトルテーマ v] の音を鳴らす
end
  • アニメーション(手を振る動作など)
ずっと
(12) 回繰り返す
@turnRight (3) 度回す
end
(12) 回繰り返す
@turnLeft (3) 度回す
end
end

別の方法

<[1] = [73]> まで繰り返す

end

このようにしても、「ずっと」を実装できる。 Pythonなどでは、このような方法で「ずっと」を実装する。(実際には、「1=73」の部分が「False」になることが多い)

参照

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