介紹指令碼化

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

Roblox Studio 介紹 中,你學會了如何在 Roblox Studio 中創建和操作零件。在本教學中,您將學習如何將 腳本 應用到零件,使平台出現和消失。您可以在平台體驗中使用此功能來減少差距,挑戰用戶仔細計時跳躍到另一邊。

設置場景

首關閉,你需要一個 零件 來作為平台。製作和移動零件應該從 Roblox Studio 介紹 熟悉你。除了平台之外,你不需要一個複雜的世界;你只需要一個間隙,你的使用者無法輕鬆跳過。

  1. 插入 零件 並將其重命名為 DisappearingPlatform

  2. 將其縮放到足夠大,讓使用者跳上去。

  3. 將它移動到正確的位置,以便您可以輕鬆觸達並在測試體驗時跳上它。

  4. 錨定 屬性設為 true屬性窗口 中。

插入一個腳指令碼

Roblox 中的代碼寫在一種稱為 Luau 的語言中,您可以將其放入 Explorer 中的各種容器中的腳本中。如果你在 零件 下放置一個腳本,Roblox 將在零件載入遊戲時執行腳指令碼的代碼。

  1. DisappearingPlatform 窗口中將鼠標懸停在 + 部分上,然後點擊 + 按鈕將新的腳本插入平台。將新腳本重命名為 消失

  2. 刪除內部的預設代碼。

第一個變量

從平台上獲取變量開始你的腳本是一個好主意。變量是與 相關的 名稱 。一旦變量被創建,就可以再次使用它。您可以根據需求變更值。

在 Luau 中,變量會以下列方式創建: local variableName = variableValue .

local 表示變量只會在宣言的腳本區塊中使用。= 標記用於設置變量的值。變數名稱通常會寫在 駝鹿案件 中。這是每個字母都跟前一個字母大寫的情況下的小寫,justLikeThis

複製以下代碼以創建名為 的平台變量,其值為 。


local platform = script.Parent

消失功能

是時候讓平台消失了。總是最好將實現特定行動的代碼群組化為 功能 。功能是一個命名的代碼塊,可以幫助你組織你的代碼並在多個地方使用它,而不需要再次寫入它。在腳本中創建 功能 並稱為 disappear


local platform = script.Parent
local function disappear()
end

第一條新行 宣言 函數 — 它表示函數的開始並將其命名為 disappear 。功能的代碼位於第一行和 end 之間。

括號用於包含額外資訊,根據需要。您將在稍後的課程中學到更多關於傳送資訊給函數的內容。

零件特性

當平台消失時,它需要是隱形的,使用者需要通過它掉落—但你不能只是毀滅平台,因為它需要稍後重新出現。

零件有各種 屬性 可以在這裡使用。請記住,如果您選擇並查看 屬性 窗口,您可以查看零件的屬性。

可以透過變更 Transparency 屬性讓零件變隱形。透明度可以是 0 到 1 之間的值,其中 1 完全透明且因此隱形。

變更立方體的透明性屬性

CanCollide 屬性決定其他零件 (和使用者) 是否可以直接通過零件。如果您將其設為 ,使用者將通過平台掉落。

變更立方體的 CanCollide 屬性

script.Parent 一樣,屬性使用 進行訪問。值使用等號符號進行分配。

  1. disappear 函數中,將平台的 CanCollide 屬性設為 false

  2. 在下一行追蹤中,將 Transparency 屬性設為 1


    local platform = script.Parent
    local function disappear()
    platform.CanCollide = false
    platform.Transparency = 1
    end

呼叫函數

一旦您宣言了一個函數,您可以寫其名稱在其旁邊用括號來運行它。例如,disappear()將執行disappear功能。這被稱為 呼叫 一個函數。

  1. 呼叫 腳指令碼結束時的 disappear 函數。


    local platform = script.Parent
    local function disappear()
    platform.CanCollide = false
    platform.Transparency = 1
    end
    disappear()
  2. 按下 播放 按鈕來測試代碼。如果您的代碼運作正常,平台應在使用者生成到遊戲時消失。

出現功能

您可以輕鬆地讓平台重新出現,寫一個函數,其功能正相反於 disappear 函數。

  1. 從腳指令碼中刪除 disappear() 行。

  2. 宣言一個新的函數叫做 appear

  3. 在功能身體中,將 CanCollide 屬性設為 trueTransparency 屬性設為 0


    local platform = script.Parent
    local function disappear()
    platform.CanCollide = false
    platform.Transparency = 1
    end
    local function appear()
    platform.CanCollide = true
    platform.Transparency = 0
    end

循環代碼

平台應不斷消失和重新出現,每次變更之間有幾秒鐘的時間間隔。無法寫出無限數量的函數呼叫—幸運的是,使用 而循環 ,你不必這麼做。

一個while迴圈會在 聲明 之後的時間內運行內部代碼,直到 while 仍然真實。這個特定的循環需要永遠運行,因此聲明應該只是 true 。在您的指令碼本結尾創建一個 while true 循環。


local platform = script.Parent
local function disappear()
platform.CanCollide = false
platform.Transparency = 1
end
local function appear()
platform.CanCollide = true
platform.Transparency = 0
end
while true do
end

切換平台

在 while 循環中,您需要寫代碼來等待平台消失和重新出現之間的幾秒鐘。

內置函數 task.wait() 可用於此。在括號中需要等待的秒數:例如 task.wait(3)

三秒是每個平台狀態之間的時間長度的合理起點。

  1. 在 while 循環中,在括號中呼叫 task.wait() 函數,使用 3 在括號中。
  2. 呼叫 disappear 功能。
  3. 再次呼叫 task.wait() 函數,使用 3 在括號中。
  4. 呼叫 appear 功能。

while true do
task.wait(3)
disappear()
task.wait(3)
appear()
end

平台的代碼現在完成了!現在測試您的代碼,您應該發現平台在三秒鐘後消失,然後三秒鐘後在循環中重新出現。

您可以複製此平台來涵蓋更大的差距,但您需要在每個腳指令碼變更等待時間。否則,平台將全部在同一時間消失,使用者永遠無法交叉。

最終代碼


local platform = script.Parent
local function disappear()
platform.CanCollide = false
platform.Transparency = 1
end
local function appear()
platform.CanCollide = true
platform.Transparency = 0
end
while true do
task.wait(3)
disappear()
task.wait(3)
appear()
end