許多電腦科學或遊戲開發中的事情常常重複。例個體、實例,一個應用程式每幾秒鐘會更新內容,或者一個遊戲每天會給玩家獎勵。為了實現此行為,程式員通常會使用 循環 。
在電腦科學中, 循環 是一種重複一組指令的程式碼模式,通常直到特定條件成真。為了練習這個,你會編寫一個改變顏色無限的零件。稍後的課程會顯示如何停止循環。
設置零件和指令碼
使用任何 Roblox 項目為此運動。完成後,這個零件可以作為裝飾環境的方式使用。
用一個說明名稱創建新零件。此課程使用 LoopingPart 。
在 ServerScriptService 中,添加名為 LoopingScript 的新指令碼。
在指令碼中,刪除 Hello World 並且寫一個 评论 來說明此指令碼的目的。
-- Changes the color of LoopingPart every few seconds
使用變數儲存零件
變數也可以包含參考字串以外的對象。舉例來說,當指令碼知道某個參考字串時,指令碼可以將它變更。
而不是在 workspace.NameOfYourPart 上輸入一次次,整個線路可以存儲在本地變數中。 本地變數是由輸入 local 並然後變數名稱創建。
例如:local nameOfVariable。
在留言論下,使用 local loopingPart 輸入本地變量。
-- 每幾秒鐘 LoopingPart 的顏色都會改變local loopingPart將變數設定為循環零件,輸入 = workspace.LoopingPart 在同一個行上。記住,= 操作器將變數的值設置為右邊的任何內容。
-- 每幾秒鐘 LoopingPart 的顏色都會改變local loopingPart = workspace.LoopingPart
而且循環
在為變色零件創建 while 循環之前,值得解釋它的語法。 while 循環有三個部分:
- 而 關鍵字。
- 一個條件,總是在關鍵字之後。
- 在 do 和 end 關鍵字之間。
在循環中,條件可以是各種各樣的論理聲明。一些範例可能是兩個數字相同。一個循環將在其條件是真的情況下執行。
注意在下面的示例中,條件是真的,也就是說這個循環會永遠重複。在後續的課程中,你會編寫特定條件,這些條件會停止。
while true doprint("This loop is running")end
編寫一個 While 循環
接下來,您將設置變更顏色的零件的 while 循環。
在下一行輸入 while true do 然後按 輸入 自動完成並添加字詞 end 。
-- 每幾秒鐘更改 loopingPart 的顏色local loopingPart = workspace.LoopingPart-- 循環代碼while true doend
在循環中添加代碼
在建立 while 週期時,可以添加指令來變更零件的顏色。在週期內,每個顏色的前方都要添加一行代碼。每個顏色都會使用 RGB 值,一種用於存儲顏色數量的方法。
在 while true do 和 end 之間,將零件的顏色設置為 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
讓指令等待
如果您現在添加第二行顏色變更代碼,它將會快速變更磚塊的顏色,讓您可能看不到第一個顏色。要在下一行代碼執行前,請使用 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測試代碼,並查看顏色是否變更。
調試筆記록 在這個時候,如果顏色變更部分無法正常運作,請從以下列中嘗試。 發行 : 顏色已跳過
請確保您在每次變更顏色之間有一個等待函數,尤其是在最後一行。
檢查所有的變更顏色和等待代碼在 while true do 和 end 區域之間。 發出問題 : 零件仍然是灰色或不改變預期的顏色
確認所有 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 陣列是用於重複指令的永遠。要創建永遠重複的陣列,請使用以下語法,並確保包含在 do 和 end 關鍵字之間。
while true do-- 指令end