參數練習 - 按鈕

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

按鈕可以被玩家用來解鎖新區域、提供點數和顯示寶藏。每次玩家觸摸按鈕時,應該給一些意見,讓玩家知道與它交互的內容,例如變更顏色或製作聲音。

在這個範例中,按鈕將用來啟動橋樑。當按鈕被按下時,它將變成綠色,玩家就可以使用橋樑。如果玩家沒有按下按鈕,他們將在穿過橋樑時掉落。

製作橋樑

從橋梁開始設置。

  1. 在遊戲中創建一個區域,玩家將需要一座橋。

  2. 為橋樑建立一個零件並將其重命名為橋樑。

  3. 選擇橋樑,在屬性窗口中:

    • 透明度 變更為 .5。為透明,0 是可見的,1 是隱藏的。
    • 檢查 錨定器
    • 取消選擇 可碰撞
  4. 測試遊戲,橋樑應該看起來迷幻,人們不能走在上面。

創建按鈕

現在橋樑已設置,創建按鈕。

  1. 創建名為 按鈕 的新零件。
  2. 將按鈕顏色變更為紅色。
  3. 錨定 按鈕。
  4. 將按鈕移動到漂亮的位置,不要碰到任何東西。這樣可以確認 Touched 事件不會意外地發觸發。

讓按鈕互動

這次,而不是使用 Touched 事件來創建陷阱,您將使用它來創建一個使橋樑可用的按鈕。 要使橋樑可以衝突,請使用 bridge.CanCollide = true 內的代碼 橋樑.CanCollide = true 在自��

在查看代碼解決方案之前,嘗試自己弄清楚。

  1. 將新 指令碼 插入名為 ActivateBridge 的按鈕。
  2. 刪除 Hello World
  3. 為橋樑和按鈕建立變數。
  4. 創建一個 本地函數 以下按鈕所指定的內容:
    • 列印 "button touched"
    • 改變按鈕的顏色從紅色變更為綠色。
    • 將橋樑的透明度變更為 0 以顯示。
    • 使橋樑可以使用 bridge.CanCollide = true 的代碼
  5. 連接功能到按鈕的 Touched 事件。
  6. 測試指令碼,並確認橋樑會在按鈕被觸擊時出現。

以下是一個可能的代碼解決方案


-- 將此指令碼插入按鈕
-- 當有東西觸摸按鈕時,按鈕會變成綠色。
local button = script.Parent
local bridge = workspace.Bridge
local function buttonPressed()
print("button touched")
button.Color = Color3.fromRGB(0, 170, 0)
bridge.Transparency = 0
bridge.CanCollide = true
end
button.Touched:Connect(buttonPressed)

解決您的代碼

問題:橋樑在遊戲開始時已經堅固。 確認零件是否錨定,並且不要碰觸任何東西。零件可能會碰觸某個東西,例如地形或其他零件,並導致按鈕按下() 按鈕意外地啓動。 問題: 在輸出窗口中發生錯誤,說:「橋樑不是工作區的有效成員」 檢查以追蹤中內容:

  • 您橋樑的命名。您的指令碼橋樑必須正確地命名,就像在 Explorer 中一樣。
  • part.Touched:Connect(buttonPressed)buttonPressed() 功能的外部。

可選擇的代碼挑戰

這個課題中的脚本也可以用來讓玩家不進入特定區域。練習你的編程技能,然後做到以追蹤中:

  • 創建門的零件。
  • 從門遠處創建按鈕。
  • 變更這個課題中的脚本,讓門變得透明,並且玩家無法與它碰撞。

您的版本可能會看起來像這樣:


local button = script.Parent
-- 提醒:將零件、閘門的名稱變更為您的項目中的
local gate = workspace.Gate
local function buttonPressed()
print("button touched")
-- 將按鈕變更為紅色,以讓玩家提供意回饋
button.BrickColor = BrickColor.Red() -- 變更此
-- 讓閘門隱形
gate.Transparency = 1
-- 讓玩家可以穿過閘門
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)