立即開始
中級教學

腳本介紹

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

Roblox Studio 入門 中,您學會了如何在 Roblox Studio 中創建和操作部件。在本教程中,您將學習如何將 腳本 應用於部件,使平台出現和消失。您可以在平臺遊戲中使用此功能來跨越一個間隙,挑戰用戶精確地計時他們的跳躍以到達另一邊。

設定場景

首先,您需要一個 部件 來作為平台。從 Roblox Studio 入門 中對於製作和移動部件應該是熟悉的。您不需要一個複雜的世界,除了平台之外 — 您只需要一個用戶無法輕易跳過的間隙。

  1. 插入一個 部件 並將其重新命名為 DisappearingPlatform

  2. 將其調整為足夠大,以便用戶可以跳上去。

  3. 將其移動到合適的位置,以便在測試您的體驗時可以到達並跳上去。

    alt

  4. 屬性 窗口中將 Anchored 屬性設置為 true

插入腳本

Roblox 的代碼是用一種稱為 Luau 的語言編寫的,您可以將其放入 資源管理器 中的各種容器的腳本中。如果將腳本放在 部件 下,當該部件加載到體驗中時,Roblox 將運行腳本的代碼。

  1. 資源管理器 窗口中懸停在 DisappearingPlatform 部件上,單擊 + 按鈕以將新腳本插入平台。將您的新腳本重新命名為 Disappear

  2. 刪除裡面的默認代碼。

第一個變量

最好從為平台創建一個 變量 開始。變量是與 關聯的 名稱。創建變量後,可以重複使用。您可以根據需要更改其值。

在 Luau 中,變量的創建方式如下:local variableName = variableValue

術語 local 表示變量僅在聲明它的腳本塊中使用。 = 符號用於設置變量的值。變量名稱通常以 駝峰式 書寫。這是小寫,第一個單詞之後的每個單詞都以大寫字母開頭,即 justLikeThis

複製以下代碼為平台創建一個名為 platform變量,其值為 script.Parent


local platform = script.Parent

消失函數

是時候讓平台消失了。最好將為特定操作實現的代碼分組到一個 函數 中。函數是一段命名的代碼塊,幫助您組織代碼,並在多個地方使用它而不必重寫。創建一個腳本中的 函數 並將其命名為 disappear


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

第一行 聲明 了該函數 — 它指示函數的開始,並將其命名為 disappear。函數的代碼在第一行和 end 之間。

括號是用來包含額外信息的。稍後的課程中您將學到更多有關將信息傳遞給函數的知識。

部件屬性

當平台消失時,它需要不可見,用戶需要能夠穿過它 — 但您不能直接銷毀平台,因為它稍後需要重新出現。

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

通過更改 Transparency 屬性,可以將部件隱藏。透明度可以是 0 到 1 之間的值,其中 1 是完全透明的,因此不可見。

更改立方體的透明度屬性

CanCollide 屬性確定其他部件(和用戶)是否可以穿過該部件。如果將其設置為 false,用戶將會穿過該平台。

更改立方體的 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 屬性設置為 true,並將 Transparency 屬性設置為 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 循環會在 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
©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。