ClickDetector

顯示已棄用項目

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

按一下檢測器 允許 Scripts 和 Class.LocalScript|

預設控制指令將 ButtonR2ClickDetectors 來交互使用,這也可以用來覆�

MaxActivationDistance 可以用來限制玩家在點擊偵測器前可以從點擊到的距離。

Class.ClickDetector 事件會在伺服器戶和

輸入優先權

如果多個 ClickDetectors 可以檢測到用戶輸入,只有最深的才會發生事件。如果兩個 ClickDetectors 是兄弟姐妹,最先發生的將優先檢測。

如果使用 ContextActionService 的行動與 ClickDetector 使用相同的輸入,則行動使用 ContextActionService 的優先權會比點擊偵測器的事件優先。

UserInputService.InputBegan 將在 ClickDetector 事件之前發射。

範例程式碼

ClickDetector Example

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)
Part Anchored Toggle

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)

概要

屬性

活動

屬性

CursorIcon

ContentId
平行讀取

將鼠標擺在此 ClickDetectorDragDetector 的上方時,會顯示曲標圖示。如果此屬性為空,探測器將使用預設圖示。

若要變更鼠標圖示,請將此屬性設為使用者想要使用的圖像的資產 ID。

MaxActivationDistance

平行讀取

此屬性控制玩家能與其交互的最大距離,以 stud 單位表示,與 CharacterClickDetectorDragDetector 的距離最大為 5 個

方法

活動

MouseClick

這個事件發生從 ScriptLocalScript 當玩家與 ClickDetector 或 1>Class.DragDetector1> 通過以下輸入方式互動時:

  • 在具有滑鼠的平台上,當玩家離開滑鼠時點擊。
  • TouchEnabled 平台上,當玩家點擊時。
  • GamepadEnabled 平台上,當中心點位置在同一個模型上,並且按下並釋放 A 按鈕。

注意,玩家的 Character 必須位於探測器 MaxActivationDistance 內。

參數

playerWhoClicked: Player

點擊了 PlayerClickDetectorDragDetector 的父親。


MouseHoverEnter

這個事件從 ScriptLocalScript 啟動,當 ClickDetector 或 1> Class.DragDetector1> 由玩家擺放時,此動作不會

由於使用者輸入的 nature,你不應該依賴所有 MouseHoverEnter 事件發射相應的 MouseHoverLeave 事件。

參數

playerWhoHovered: Player

開始將鼠標揮動在 PlayerClickDetectorDragDetector 的上方。


範例程式碼

Hovering Over and Off a ClickDetector

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

此事件從 ScriptLocalScript 發生,當玩家的指针停在 ClickDetector 或 1> Class.DragDetector1> 的父親時。 這不

由於使用者輸入的 nature,你不應該依賴所有 MouseHoverLeave 事件發生後發生的事件。

參數

playerWhoHovered: Player

Class.Player 的鼠標暫停在 ClickDetectorDragDetector 的上方。


範例程式碼

Hovering Over and Off a ClickDetector

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

這個事件發生在 ScriptLocalScript 玩家右鍵點擊鼠標指针在 ClickDetector 或 1> Class.DragDetector1> 時。注意,玩家的 4>

參數

playerWhoClicked: Player

點擊 Player 對它們的鼠標指针在 ClickDetectorDragDetector 上,

1>Class.Player1> 對於點擊 4>Class.Click4> 或 7>Class.Drag7> 的鼠標指针在上述 Player0> 上。