コンピューター科学やゲーム開発の多くの場合、複数の重複することがあります。たとえば、アプリはフィードでコンテンツを更新したり、ゲームは毎日プレイヤーに賞品を報酬を与えたりします。この動作を実装するために、コーダーは ループ を使用します。
コンピューター科学で、 ループ は、特定のコンディションが満たされるまでに設定された指示のセットを繰り返すコーディングパターンです。これを実践するには、色を永久に変更するパーツをコードします。後のレッスンでは、ループを停止する方法を示します。
パーツとスクリプトの設定
このエクサートでは、Roblox プロジェクトを使用します。完了したら、このパーツを環境を装飾する方法として使用できます。
説明的な名前の新しいパーツを作成します。このレッスンでは LoopingPart を使用します。
In ServerScriptService で、ScriptScript という名前の新しいスクリプトを追加します。
スクリプトで Hello World を削除し、このスクリプトの目的を記述する コメント を書き込みます。
-- Changes the color of LoopingPart every few seconds
変数を使用してパーツを保存する
変数は、文字列以外のオブジェクトにも参照を持つことができます。たとえば、スクリプトがパーツの参照を知っているとき、スクリプトはそれを変更できます。
workspace.NameOfYourPart を何度も入力するのは面倒だけど、この行全体をローカル変数に保存できます。ローカル変数は、local を入力し、変数名を入力します。
たとえば: local nameOfVariable 。
コメントの下に、local loopingPart を入力してローカル変数を作成します。
-- 数秒ごとにループパーツの色を変更しますlocal loopingPart同じ行に = workspace.LoopingPart を入力して、変数をループパーツに設定します。= オペレーターは、変数の値を右側に設定します。
-- 数秒ごとにループパーツの色を変更しますlocal loopingPart = workspace.LoopingPart
ループ中
色が変わる部分の while ループを作成する前に、その構文を説明する価値があります。 while ループは 3つのコンポーネントで構成されています:
- The while キーワード。
- コンディション、キーワードの後に常に。
- Instructions, between the do and end キーワードの間。
ループでは、コンディションはさまざまな論理ステートになります。いくつかの例は、2つの数が同じ場合です。ループは、コンディションが true の場合に実行されます。
下のサンプルで注意してください、条件は true です。つまり、このループは永遠に実行されます。後のレッスンでは、特定の条件をコードで停止させます。
while true doprint("This loop is running")end
ループ中のコード
次に、色が変わる部分の while ループを設定します。
次の行には、 while true do を入力します。その後、 入力 を押して自動完了し、 end を追加します。
-- 数秒ごとにループパーツの色を変更しますlocal loopingPart = workspace.LoopingPart-- ループコードwhile true doend
ループにコードを追加する
ループを作成した状態で、指示を追加して部品の色を時間の経過とともに変更できます。ループ内で、各色に対するコードの行を追加します。各色は RGB 値を使用し、コンピューター科学で色を数値として保存する方法を使用します。
mientras true do と end の間で、パーツの Color プロパティを Color3.fromRGB() に設定します。
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB()end色を設定するには、Studio の色選択器を使用して色を設定できます。これをするには、() の隣にある fromRGB 内のクリックを左クリックします。次に、色輪 アイコンをクリックします。設定した色がコードに自動的に追加されるようにするには、OK をクリックします。
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)end
スクリプトを待たせる
今、2つ目の色が変わるコードを追加すると、ブリックの色が変わるので、最初の色が見えなくなる可能性があります。次のコードを実行する前にスクリプトを待つには、task.wait() 機能を使用します。
レンガの色を変更した後の行に、task.wait(3) を入力します。入れる数字の大小は、() 内の数秒でスクリプトが待機することです。
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)end「待機」機能の下で、新しい色を追加するプロセスを繰り返します。追加の「待機」機能で終了します。
while true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)endコードをテストして、色が変更されるかどうかを確認します。
トラブルシューティングメモ この時点で、色変更部分が意図通りに機能しない場合は、次のメモの 1つを試してください。 問題 : 色がスキップされます
色変更の間にワート関数があることを確認してください、特に最後の行です。
すべての色変更と待機コードが while true do および end セクションの間にあることを確認してください。 問題 : パーツはまだグレーであるか、または予定通りの色に変更されません
すべての RGB 値が 0 から 255 の数字、文字列であることを確認し、コマを使用して区分されていることを確認してください。
待機関数の () の中の数字は 1 より大きな必要があります。短すぎる待機時間では、その色を見ることができない可能性があります。
完全なカラーループパートスクリプト
-- パーツを保存する変数を作成local loopingPart = workspace.LoopingPart-- ループコードwhile true do-- ループ中のパーツの色を変更loopingPart.Color = Color3.fromRGB(82, 227, 255)-- 次の指示まで 3 秒お待ちくださいtask.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)end
概要
ループは、ほとんどのコンピューター言語で共通の要素です。ループは、特定の条件が満たされるまでにインストラクションを繰り返すために使用されます。このアイテムでは、 while ループは、do と end のキーワードの間にインストラクションを繰り返します。永遠にループ
while true do-- 指示end