点击侦测器 允许 Scripts 和 Class.LocalScript|Lo点按alScripts</
默认控制脚本使用 ButtonR2 与 ClickDetectors 使用 Class. contextAction
MaxActivationDistance 可用于限制玩家从点击探测器不再可以点击之前的距离。
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)
概要
属性
将鼠标悬停在此 ClickDetector 或 DragDetector 上时显示鼠标标志。
在玩家可以与其交互的最大距离之间,最大距离是 ClickDetector 或 DragDetector 。
活动
在玩家与 ClickDetector 或 DragDetector 的父亲互动时触发。
当 ClickDetector 或 DragDetector 的父级被玩家悬停时,它会发射。
在玩家的鼠标悬停在 ClickDetector 或 DragDetector 的父级时触发。
在玩家右击鼠标时,如果在 ClickDetector 或 DragDetector 上,玩家的鼠标指针位置在Class.ClickDetector 或1> Class.DragDetector1> 上,玩家就会发生火灾。
属性
CursorIcon
将鼠标悬停在此 ClickDetector 或 DragDetector 上时显示曲сор图标。如果此属性未填写,探测器将使用默认标志。
要更改鼠标标志,将此属性设置为您想要使用的图像的资产 ID 。
MaxActivationDistance
此属性控制在游戏中玩家能够与其交互的最大距离,以 studs 单位表示。例实例,在 10 个 studs 内的一个角色与 1 个 Character 或 1 个 ClickDetector 的
方法
活动
MouseClick
此事件从 Script 或 LocalScript 发生,当玩家与 ClickDetector 或 1>Class.DragDetector1> 通过以下输入交互时:
- 在具有鼠标的平台上,当玩家离开鼠标点击。
- 在 TouchEnabled 平台上,当玩家点击时。
- 在 GamepadEnabled 平台上,当中心点位与同一模型,并且按下 A 按钮时。
注意,玩家的 Character 必须位于探测器的 MaxActivationDistance 内。
参数
点击了父的 Class.ClickDetector 或 ClickDetector 的。
MouseHoverEnter
此事件从 Script 或 LocalScript 发生,当 ClickDetector 或 1> Class.DragDetector1> 被玩家悬停时,此事件不会与探测
由于用户输入的 nature,您不应该依赖所有 MouseHoverEnter 事件发生的相应 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)
MouseHoverLeave
此事件从 Script 或 LocalScript 发生,当玩家的 cursor 从 ClickDetector 或 1> Class.DragDetector1> 上移动时, 这不会与探
由于用户输入的 nature,您不应该依赖于所有 Class.ClickDetector.MouseHoverLeave|MouseHoverExit|MouseHoverEnter|MouseHoverEnter 事件在相应的 Class.ClickDetector.MouseHoverEnter|MouseHoverExit|MouseHoverEnter 事件后发生。
参数
其鼠标悬停在 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> Class
参数
在 Class.ClickDetector 或 ClickDetector 的父级点击鼠标鼠标标记上,右击鼠标标记上的鼠标标记。