今天,我們將會提到三項可供玩家觸發的特殊事件
這個我們在之前的單元都有提過,當玩家碰到物件時觸發
local Part = script.Parent
Part.Touched:Connect(function(hit)
--做一些事
end)
在函式的第一項參數會預先寫入一項碰到的物件的參數,類型為Instance
這些事件要透過一項物件新增指定實例時才可以觸發,首先我們要先新增一個ClickDetector到一個Part裡面,你可以直接新增或用我們昨天提過的**Instance.new()**函式來新增。
接著在腳本內完成定義
local Part = script.Parent
local ClickDetector = Part.ClickDetector
然後連接函式
local Part = script.Parent
local ClickDetector = Part.ClickDetector
ClickDetector.MouseClick:Connect(function(Player) --隨便一個函式都可以
--烤個披薩
end)
在函式的第一項參數會預先寫入一項觸發事件的玩家的參數,類型為Player
這邊是所有事件的觸發方法
MouseClick: 在玩家對物件點擊左鍵時觸發
MouseHoverEnter: 在玩家的滑鼠開始觸碰到物件時觸發 (意即玩家將滑鼠停留在物件上時)
MouseHoverLeave: 在玩家的滑鼠不再觸碰到物件時觸發 (意即玩家不將滑鼠停留在物件上時)
RightMouseClick: 在玩家對物件點擊右鍵時觸發
這些事件會透過一項叫做ProximityPrompt的物件觸發,他的用意是可以讓玩家在接近這項物件一定距離後顯示一項懸浮UI,不同於使用者UI,這項UI會在3D世界裡顯示,但會不斷地面朝玩家,而玩家可以透過在UI顯示時按下或按住特定按鍵來觸發事件。
首先,照慣例先新增物件 (這你很熟我就不教了)
然後定義
local Part = script.Parent
local ProximityPrompt = Part.ProximityPrompt
連接函式
local Part = script.Parent
local ProximityPrompt = Part.ProximityPrompt
ProximityPrompt.Triggered:Connect(function()
--炸個臭豆腐
end)
這邊是所有的事件觸發方法
Triggered: 在UI顯示後,玩家按住指定按鍵指定時間後觸發
TriggerEnded: 在UI顯示後,玩家按住指定按鍵指定時間後且玩家放開按鍵後觸發
PromptButtonHoldBegan: 在UI顯示後,玩家按下指定按鍵後觸發
PromptButtonHoldEnded: 在UI顯示後,玩家按住指定按鍵指定時間後且指定時間結束後觸發
哭啊要開學了但我還剩12天 XP