介紹於腳本

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

介紹 Roblox Studio 中,你學會了在 Roblox Studio 中創建和操作零件。在這個教學中,你會學會如何應用 指令碼 在零件上,以使平台出現並消失。你可以在平台體驗中使用此功能來跨越時間,挑戰用戶仔細時間他們的跳躍來到另一邊。

設置螢幕

首關閉,您需要一個 零件 來作為平台。製作和移動零件應該對您從 介紹 Roblox Studio 很熟悉。您不需要一個複雜的世界,而是需要一個用戶可以輕鬆跳過的空格。

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

  2. 將其調整大小,讓使用者可以跳上。

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

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

插入指令碼

Roblox 中的代碼以 Luau 的語言書寫,你可以將它放在 Explorer 中的各種容器內。如果你將 零件 放在遊戲中,Roblox 會在零件載入到遊戲時執行此語指令碼的代碼。

  1. 將鼠標放在 DisappearingPlatform 零件在 Explorer 窗口上,然後按一下 + 按鈕以將新腳本插入平台。將您的新腳本重命名為 1>Disappear1>。

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

第一個變數

開始您的脚本的好方法是首先作成平台的 變量 為平台。變量是與價值關聯的 名稱。當變量創建時,它可以再次使用。您可以根據需要變更值。

在 Luau 中,變數為次要值創建如下: local variableName = variableValue

local 指的是變數只會在指定的腳本區塊中使用。= 指的是設定變數的值。名稱變數通常會以 camel 狀態 來表示。此狀態與第一個字母大寫 1>justLikeThis1> 相同。

Copy the following code to create a 變量 for the platform called platform , where the value is script.Parent .


local platform = script.Parent

消失功能

是時候消滅平台了。最好將特定操作的代碼群組成 函數。 函數是一個名稱的代碼塊,它可以幫助您組織您的代碼並在多個位置使用它,而不用重新編寫它。 在指令碼中創建 函數 並稱為 2>disappear2> 。


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

第一行新線 宣告 功能,指示功能的開始,並將它命名為 disappear。功能的代碼在第一行和 end 之間。

括號是為了提供額外資訊,當需要時。你會在後續的課程中學到更多關於將資訊傳送給功能的方法。

零件屬性

當平台消失時,它需要變得隱形,並且使用者需要穿過它 — 但您不能只是摧毀平台,因為它需要稍後重新出現。

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

零件可以通過變更 Transparency 屬性變得隱形。透明度可以是 0 與 1 之間的值,其中 1 是完全透明,因此不可見。

改變方塊的透明度

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. 按下 播放 按鈕來測試代碼。如果您的代碼工作,平台應該在用戶生成遊戲時消失。

顯示功能

您可以寫一個使平台重新顯示的函數,這使平台重新顯示正確相反的功能。

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

  2. 宣告名為 appear 的新函數。

  3. 在功能身體內,將 CanCollide 屬性設為 Transparency 並將 Transparency


    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 loop 的情況下,您不需要。

一段時間內,程式碼在程式碼內部執行,直到 while 後的 while 仍然是真的。這個特定的程式碼需要永遠執行,因此該語句只能是 true。在指令碼式碼結束時建立一個 2>while true2> 循環。


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 循環中, call the 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