ClickDetector

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

ClickDetector consente a Scripts e LocalScripts di

Gli script di controllo predefiniti legano ButtonR2 con ClickDetectors usando Class. ContextActionService:Bind

MaxActivationDistance può essere utilizzato per limitare la distanza che un giocatore può essere da un rilevatore di clic prima che non sia più cliccabile.

ClickDetector eventi si attivano sia

Prendi priorità

Se più ClickDetectors possono rilevare l'input dell'utente, solo il più profondo attiverà gli eventi. Se due ClickDetectors sono fratelli, il primo prenderà la priorità.

Se un'azione legata con ContextActionService usa gli stessi input di un ClickDetector, l'azione legata con ContextActionService prenderà la priorità sugli eventi del click detector.

UserInputService.InputBegan eseguirà prima degli eventi ClickDetector .

Campioni di codice

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)

Sommario

Proprietà

Eventi

Proprietà

CursorIcon

ContentId
Lettura Parallela

Imposta l'icona del cursore per visualizzare quando il mouse è passato sul padre di questo ClickDetector o DragDetector . Se questa proprietà viene lasciata vuota, il detector userà l'Iconapredefinita.

Per cambiare l'Iconadel cursore, imposta questa proprietà sull'ID risorsa dell'immagine che desideri utilizzare.

MaxActivationDistance

Lettura Parallela

Questa proprietà controlla la distanza massima, in studs, tra un Character e il ClickDetector o DragDetector per il giocatore in grado di interagire con esso. Ad esempio, un person

Metodi

Eventi

MouseClick

Questo evento si attiva da un Script o LocalScript quando un giocatore interagisce con un ClickDetector o 2>Class.DragDetector2> tramite i seguenti input:

  • Su piattaforme con il Topo, or mouse as computer mouse, quando il giocatore ha lasciato i clic del mouse.
  • Su TouchEnabled piattaforme, quando il giocatore tocca.
  • Su GamepadEnabled piattaforme, quando il punto centrale è sullo stesso modello e viene premuto e rilasciato il A pulsante.

Nota che il GiocatoreCharacter deve essere all'interno di MaxActivationDistance del detector.

Parametri

playerWhoClicked: Player

Il Player che ha fatto clic sul padre di un ClickDetector o DragDetector .


MouseHoverEnter

Questo evento si attiva da un Script o da un LocalScript quando il padre di un ClickDetector o 2>Class.DragDetector2> è sorso sopra da un Giocatore. Ciò non implica un'inter

A causa della natura dell'input dell'utente, non dovresti dipendere da tutti gli eventi MouseHoverEnter che fanno clic su un evento corrispondente MouseHoverLeave .

Parametri

playerWhoHovered: Player

Il Player che ha iniziato a passare il mouse sul padre di un ClickDetector o DragDetector .


Campioni di codice

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

Questo evento si attiva da un Script o da un LocalScript quando il cursore di un Giocatoresi allontana dal padre di un ClickDetector o 2>Class.DragDetector2> . Questo non

A causa della natura dell'input dell'utente, non dovresti dipendere da tutti gli eventi MouseHoverLeave che si attivano dopo un evento corrispondente MouseHoverEnter .

Parametri

playerWhoHovered: Player

Il Player il cui cursore si è allontanato dal padre di un ClickDetector o DragDetector .


Campioni di codice

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

Questo evento si attiva da un Script o da un LocalScript quando un giocatore fa clic con il pulsante destro del mouse su un ClickDetector o 2>Class.DragDetector2> . Nota che il Giocatore5>Class.Player.Character

Parametri

playerWhoClicked: Player

Il Player che ha fatto clic con il pulsante destro del mouse sulla madre di un ClickDetector o DragDetector .