腳本介紹

*此內容是使用 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 是我們在美國及其他國家地區的部分註冊與未註冊商標。