按一下檢測器 允許 Scripts 和 Class.LocalScript|
預設控制指令將 ButtonR2 用 ClickDetectors 來交互使用,這也可以用來覆�
MaxActivationDistance 可以用來限制玩家在點擊偵測器前可以從點擊到的距離。
Class.ClickDetector 事件會在伺服器戶和
輸入優先權
如果多個 ClickDetectors 可以檢測到用戶輸入,只有最深的才會發生事件。如果兩個 ClickDetectors 是兄弟姐妹,最先發生的將優先檢測。
如果使用 ContextActionService 的行動與 ClickDetector 使用相同的輸入,則行動使用 ContextActionService 的優先權會比點擊偵測器的事件優先。
UserInputService.InputBegan 將在 ClickDetector 事件之前發射。
範例程式碼
local clickDetector = script.Parent
local function onClicked(player)
-- Show a message to the player
local msg = Instance.new("Message")
msg.Parent = player:FindFirstChild("PlayerGui")
msg.Text = "Hello, " .. player.Name
wait(2.5)
msg:Destroy()
end
-- Connect the function to the MouseClick event
clickDetector.MouseClick:Connect(onClicked)
local part = script.Parent
-- Create a ClickDetector so we can tell when the part is clicked
local cd = Instance.new("ClickDetector", part)
-- This function updates how the part looks based on its Anchored state
local function updateVisuals()
if part.Anchored then
-- When the part is anchored...
part.BrickColor = BrickColor.new("Bright red")
part.Material = Enum.Material.DiamondPlate
else
-- When the part is unanchored...
part.BrickColor = BrickColor.new("Bright yellow")
part.Material = Enum.Material.Wood
end
end
local function onToggle()
-- Toggle the anchored property
part.Anchored = not part.Anchored
-- Update visual state of the brick
updateVisuals()
end
-- Update, then start listening for clicks
updateVisuals()
cd.MouseClick:Connect(onToggle)
概要
屬性
設定鼠標暫停時顯示的游標圖示。 Class.ClickDetector 或 DragDetector 的父親。
玩家與 ClickDetector 或 DragDetector 的距離最大。
活動
發生玩家與 ClickDetector 或 DragDetector 的親子。
發生當 ClickDetector 或 DragDetector 被玩家擁有時發生。
發射時,當玩家的鼠標離開 ClickDetector 或 DragDetector 的父親時。
發生在玩家右鍵點擊 ClickDetector 或 DragDetector 上。
屬性
CursorIcon
將鼠標擺在此 ClickDetector 或 DragDetector 的上方時,會顯示曲標圖示。如果此屬性為空,探測器將使用預設圖示。
若要變更鼠標圖示,請將此屬性設為使用者想要使用的圖像的資產 ID。
MaxActivationDistance
此屬性控制玩家能與其交互的最大距離,以 stud 單位表示,與 Character 或 ClickDetector 或 DragDetector 的距離最大為 5 個
方法
活動
MouseClick
這個事件發生從 Script 或 LocalScript 當玩家與 ClickDetector 或 1>Class.DragDetector1> 通過以下輸入方式互動時:
- 在具有滑鼠的平台上,當玩家離開滑鼠時點擊。
- 在 TouchEnabled 平台上,當玩家點擊時。
- 在 GamepadEnabled 平台上,當中心點位置在同一個模型上,並且按下並釋放 A 按鈕。
注意,玩家的 Character 必須位於探測器 MaxActivationDistance 內。
參數
點擊了 Player 或 ClickDetector 或 DragDetector 的父親。
MouseHoverEnter
這個事件從 Script 或 LocalScript 啟動,當 ClickDetector 或 1> Class.DragDetector1> 由玩家擺放時,此動作不會
由於使用者輸入的 nature,你不應該依賴所有 MouseHoverEnter 事件發射相應的 MouseHoverLeave 事件。
參數
開始將鼠標揮動在 Player 或 ClickDetector 或 DragDetector 的上方。
範例程式碼
local clickDetector = script.Parent:FindFirstChildOfClass("ClickDetector")
clickDetector.MouseHoverEnter:Connect(function(player)
print(player.Name .. " hovered over my parent!")
end)
clickDetector.MouseHoverLeave:Connect(function(player)
print(player.Name .. " hovered off my parent!")
end)
MouseHoverLeave
此事件從 Script 或 LocalScript 發生,當玩家的指针停在 ClickDetector 或 1> Class.DragDetector1> 的父親時。 這不
由於使用者輸入的 nature,你不應該依賴所有 MouseHoverLeave 事件發生後發生的事件。
參數
Class.Player 的鼠標暫停在 ClickDetector 或 DragDetector 的上方。
範例程式碼
local clickDetector = script.Parent:FindFirstChildOfClass("ClickDetector")
clickDetector.MouseHoverEnter:Connect(function(player)
print(player.Name .. " hovered over my parent!")
end)
clickDetector.MouseHoverLeave:Connect(function(player)
print(player.Name .. " hovered off my parent!")
end)
RightMouseClick
這個事件發生在 Script 或 LocalScript 玩家右鍵點擊鼠標指针在 ClickDetector 或 1> Class.DragDetector1> 時。注意,玩家的 4>
參數
點擊 Player 對它們的鼠標指针在 ClickDetector 或 DragDetector 上,
1>Class.Player1> 對於點擊 4>Class.Click4> 或 7>Class.Drag7> 的鼠標指针在上述 Player0> 上。