iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0

今天,我們將會提到三項可供玩家觸發的特殊事件


1. Touch

這個我們在之前的單元都有提過,當玩家碰到物件時觸發

local Part = script.Parent
Part.Touched:Connect(function(hit)
    --做一些事
end)

在函式的第一項參數會預先寫入一項碰到的物件的參數,類型為Instance


2. MouseClick、MouseHoverEnter、MouseHoverLeave、RightMouseClick

這些事件要透過一項物件新增指定實例時才可以觸發,首先我們要先新增一個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: 在玩家對物件點擊右鍵時觸發


3. Triggered、TriggerEnded、PromptButtonHoldBegan、PromptButtonHoldEnded

這些事件會透過一項叫做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


上一篇
Day 18: Instance實例
下一篇
Day 20: 應用單元 (2)
系列文
透過Roblox Studio學習Lua語言與基本程式邏輯21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言