ClickDetector
*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
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)
Sommario
Proprietà
Imposta l'icona del cursore per visualizzare quando il mouse è passato su questo ClickDetector o DragDetector .
Distanza massima tra un personaggio e il ClickDetector o DragDetector per il giocatore in modo da poter interagire con esso.
Metodi
Eventi
Si attiva quando un giocatore interagisce con il padre di un ClickDetector o DragDetector .
Si attiva quando il padre di un ClickDetector o DragDetector è sopra il Giocatore.
Si attiva quando il cursore di un Giocatoresi allontana dal padre di un ClickDetector o DragDetector .
Si attiva quando un giocatore fa clic con il pulsante destro del mouse su un ClickDetector o DragDetector .
Proprietà
CursorIcon
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
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
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
Il Player che ha iniziato a passare il mouse sul padre di un ClickDetector o DragDetector .
Campioni di codice
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
Il Player il cui cursore si è allontanato dal padre di un ClickDetector o DragDetector .
Campioni di codice
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
Il Player che ha fatto clic con il pulsante destro del mouse sulla madre di un ClickDetector o DragDetector .