ClickDetector

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

ClickDetector permite que Scripts y LocalScripts reciban

Los scripts de control predeterminados vinculan ButtonR2 a interactuar con ClickDetectors usando Class. ContextActionService

MaxActivationDistance se puede usar para limitar la distancia que un jugador puede estar desde un detector de clics antes de que ya no sea clicable.

ClickDetector eventos se activan tanto en el

Prioridad de entrada

Si varios ClickDetectors pueden detectar la entrada del usuario, solo los más profundos serán los que disparan los eventos. Si dos ClickDetectors son hermanos, el primero tendrá prioridad.

Si una acción vinculada con ContextActionService usa la misma entrada que un ClickDetector, la acción vinculada con ContextActionService tomará la prioridad sobre los eventos del detector de clics.

UserInputService.InputBegan disparará antes de los eventos de ClickDetector.

Muestras de código

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)

Resumen

Propiedades

Eventos

Propiedades

CursorIcon

ContentId
Leer paralelo

Establece el icono del cursor para mostrar cuando el mouse está sobre el padre de este ClickDetector o DragDetector . Si esta propiedad se deja en blanco, el detector usará el íconopredeterminado.

Para cambiar el íconodel cursor, establece esta propiedad en el ID de la imagen que quieres usar.

MaxActivationDistance

Leer paralelo

Esta propiedad controla la distancia máxima, en studs, entre un Character y el ClickDetector o DragDetector para que el jugador pueda interactuar con él. Por instancia, un personaje dentro de

Métodos

Eventos

MouseClick

Este evento se activa desde un Script o LocalScript cuando un jugador interactúa con un ClickDetector o 2>Class.DragDetector2> a través de las siguientes entradas:

  • En las plataformas con un ratón, cuando el jugador dejó de hacer clics con el mouse.
  • En las plataformas TouchEnabled, cuando el jugador toca.
  • En las plataformas GamepadEnabled, cuando el punto central está sobre el mismo modelo y se presiona y suelta el botón A .

Nota que el jugador debe estar dentro de la Character dentro de la MaxActivationDistance del detector.

Parámetros

playerWhoClicked: Player

El Player que hizo clic en el padre de un ClickDetector o DragDetector .


MouseHoverEnter

Este evento se activa desde un Script o LocalScript cuando el padre de un ClickDetector o 1>Class.DragDetector1> está sobre el botón de un jugador. Esto no implica una interacción explícita

Debido a la naturaleza de la entrada del usuario, no debe depender de todos los eventos MouseHoverEnter que disparan un evento correspondiente MouseHoverLeave .

Parámetros

playerWhoHovered: Player

El Player que comenzó a pasar el cursor por encima de un ClickDetector o DragDetector padre.


Muestras de código

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

Este evento se activa desde un <a href="https://code.eu/es/Script.Class.Script">Class.Script\ o un <a href="https://code.eu/es/Script.LocalScript">Class.LocalScript\ cuando el cursor del jugador se desplaza del padre de un <a href="https://code

Debido a la naturaleza de la entrada del usuario, no debe depender de todos los eventos MouseHoverLeave que se activan después de un evento correspondiente MouseHoverEnter .

Parámetros

playerWhoHovered: Player

El Player cuyo cursor se desplazó fuera del padre de un ClickDetector o DragDetector .


Muestras de código

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

Este evento se activa desde un Script o LocalScript cuando un jugador hace clic derecho en el cursor del mouse en un ClickDetector o 1> Class.DragDetector1> . Nota que el jugador debe estar dentro de la

Parámetros

playerWhoClicked: Player

El Player que hizo clic derecho en el cursor de su mouse en el padre de un ClickDetector o DragDetector.