ClickDetector
*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
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)
Resumen
Propiedades
Establece el icono del cursor para mostrar cuando el mouse está sobre el padre de este ClickDetector o DragDetector .
Distancia máxima entre un personaje y el ClickDetector o DragDetector para que el jugador pueda interactuar con él.
Eventos
Se activa cuando un jugador interactúa con el padre de un ClickDetector o DragDetector .
Se activa cuando el padre de un ClickDetector o DragDetector está sobre el que se acerca un jugador.
Se activa cuando el cursor de un jugador se desplaza fuera del padre de un ClickDetector o DragDetector .
Se activa cuando un jugador hace clic derecho en su cursor en un ClickDetector o DragDetector .
Propiedades
CursorIcon
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
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
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
El Player que comenzó a pasar el cursor por encima de un ClickDetector o DragDetector padre.
Muestras de código
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
El Player cuyo cursor se desplazó fuera del padre de un ClickDetector o DragDetector .
Muestras de código
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
El Player que hizo clic derecho en el cursor de su mouse en el padre de un ClickDetector o DragDetector.