使用 while 陣列重複代碼

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

許多電腦科學或遊戲開發中的事情常常重複。例個體、實例,一個應用程式每幾秒鐘會更新內容,或者一個遊戲每天會給玩家獎勵。為了實現此行為,程式員通常會使用 循環

在電腦科學中, 循環 是一種重複一組指令的程式碼模式,通常直到特定條件成真。為了練習這個,你會編寫一個改變顏色無限的零件。稍後的課程會顯示如何停止循環。

設置零件和指令碼

使用任何 Roblox 項目為此運動。完成後,這個零件可以作為裝飾環境的方式使用。

  1. 用一個說明名稱創建新零件。此課程使用 LoopingPart

  2. ServerScriptService 中,添加名為 LoopingScript 的新指令碼。

  3. 在指令碼中,刪除 Hello World 並且寫一個 评论 來說明此指令碼的目的。


    -- Changes the color of LoopingPart every few seconds

使用變數儲存零件

變數也可以包含參考字串以外的對象。舉例來說,當指令碼知道某個參考字串時,指令碼可以將它變更。

而不是在 workspace.NameOfYourPart 上輸入一次次,整個線路可以存儲在本地變數中。 本地變數是由輸入 local 並然後變數名稱創建。

例如:local nameOfVariable

  1. 在留言論下,使用 local loopingPart 輸入本地變量。


    -- 每幾秒鐘 LoopingPart 的顏色都會改變
    local loopingPart
  2. 將變數設定為循環零件,輸入 = workspace.LoopingPart 在同一個行上。記住,= 操作器將變數的值設置為右邊的任何內容。


    -- 每幾秒鐘 LoopingPart 的顏色都會改變
    local loopingPart = workspace.LoopingPart

而且循環

在為變色零件創建 while 循環之前,值得解釋它的語法。 while 循環有三個部分:

  • 而 關鍵字。
  • 一個條件,總是在關鍵字之後。
  • doend 關鍵字之間。

在循環中,條件可以是各種各樣的論理聲明。一些範例可能是兩個數字相同。一個循環將在其條件是真的情況下執行。

注意在下面的示例中,條件是真的,也就是說這個循環會永遠重複。在後續的課程中,你會編寫特定條件,這些條件會停止。


while true do
print("This loop is running")
end

編寫一個 While 循環

接下來,您將設置變更顏色的零件的 while 循環。

  1. 在下一行輸入 while true do 然後按 輸入 自動完成並添加字詞 end


    -- 每幾秒鐘更改 loopingPart 的顏色
    local loopingPart = workspace.LoopingPart
    -- 循環代碼
    while true do
    end

在循環中添加代碼

在建立 while 週期時,可以添加指令來變更零件的顏色。在週期內,每個顏色的前方都要添加一行代碼。每個顏色都會使用 RGB 值,一種用於存儲顏色數量的方法。

  1. while true doend 之間,將零件的顏色設置為 Color3.fromRGB()


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB()
    end
  2. 設定顏色可以使用 Studio 中的顏色選擇器來執行。若要這麼做,請在 ()fromRGB 邊,按一下顏色輪盤圖示。然後,按一下顏色輪盤圖示。然後,按一下顏色輪盤圖示。設定顏色後,按一下 Ok 以自動添加顏色值。


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    end

讓指令等待

如果您現在添加第二行顏色變更代碼,它將會快速變更磚塊的顏色,讓您可能看不到第一個顏色。要在下一行代碼執行前,請使用 task.wait() 函數。

  1. 在變更磚塊顏色後,輸入 task.wait(3) 。 要放置在 () 內的任何數字是指腳本會等待的秒數。


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    task.wait(3)
    end
  2. 在等待功能中,重複新增一個顏色的過程。使用額外的等待功能來完成它。


    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    task.wait(3)
    loopingPart.Color = Color3.fromRGB(177, 52, 255)
    task.wait(3)
    end
  3. 測試代碼,並查看顏色是否變更。

調試筆記록 在這個時候,如果顏色變更部分無法正常運作,請從以下列中嘗試。 發行 : 顏色已跳過

  • 請確保您在每次變更顏色之間有一個等待函數,尤其是在最後一行。

  • 檢查所有的變更顏色和等待代碼在 while true doend 區域之間。 發出問題 : 零件仍然是灰色或不改變預期的顏色

  • 確認所有 RGB 值都有 0 至 255 之間的數字、是整數或十六進制,並且是以分號分開。

  • () 的等待函數內的數字應該大於 1 。如果等待太短,您可能無法看到該顏色。

完成顏色循環部分指令碼


-- 創建變數以儲存零件
local loopingPart = workspace.LoopingPart
-- 循環代碼
while true do
-- 變更 loopingPart 的顏色
loopingPart.Color = Color3.fromRGB(82, 227, 255)
-- 等待 3 秒後的下一個指令
task.wait(3)
loopingPart.Color = Color3.fromRGB(177, 52, 255)
task.wait(3)
end

摘要

陣列是大多數電腦語言的常見元素。它們可以重複指令,有時候直到特定條件被滿足。在此文章中, while 陣列是用於重複指令的永遠。要創建永遠重複的陣列,請使用以下語法,並確保包含在 doend 關鍵字之間。


while true do
-- 指令
end