ClickDetector
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Cliquez sur le détecteur de cliquerpermet à Class.Script|Scripts et Class.LocalScript|LocalScript
Les scripts de contrôle par défaut lient ButtonR2 à interagir avec ClickDetectors en utilisant Class. ContextActionService:BindActiv
MaxActivationDistance peut être utilisé pour limiter la distance qu'un joueur peut être d'un détecteur de clics avant qu'il ne soit plus cliquable.
ClickDetector événements se déclenchent
Priorité d'entrée
Si plusieurs ClickDetectors peuvent détecter l'entrée de l'utilisateur, seuls les plus profonds déclencheront des événements. Si deux ClickDetectors sont des frères, le premier prendra la priorité.
Si une action liée à ContextActionService utilise le même entrée qu'un ClickDetector, l'action liée à ContextActionService prendra la priorité sur les événements du détecteur de clics.
UserInputService.InputBegan se déclenchera avant les événements ClickDetector.
Échantillons de code
Place this code inside a Script inside a ClickDetector. The code sample creates a reference to the parent and defines a function to show a message that greets a player. Finally, it connects the MouseClick event to the defined function.
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)
This code sample will allow a part to be clicked to toggle its anchored property. When toggled, the visual appearance of the part is updated (red means anchored, yellow means free).
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)
Résumé
Propriétés
Définit l'icône de curseur pour s'afficher lorsque la souris est positionnée sur le parent de ce ClickDetector ou DragDetector .
Distance maximale entre un personnage et le ClickDetector ou DragDetector pour que le joueur puisse interagir avec lui.
Évènements
Se déclenche lorsqu'un joueur interagit avec le parent d'un ClickDetector ou DragDetector.
Se déclenche lorsque le parent d'un ClickDetector ou DragDetector est survolé par un joueur.
Activer le jeu quand le curseur d'un joueur passe du parent d'un ClickDetector ou d'un DragDetector.
Se déclenche lorsqu'un joueur fait un clic droit sur leur curseur de souris sur un ClickDetector ou DragDetector.
Propriétés
CursorIcon
Définit l'icône de curseur pour s'afficher lorsque la souris est positionnée sur le parent de cette ClickDetector ou DragDetector . Si cette propriété est vide, le détecteur utilisera l'icône par défaut.
Pour changer l'icône de curseur, définissez cette propriété sur l'ID de la ressource de l'image que vous souhaitez utiliser.
MaxActivationDistance
Cette propriété contrôle la distance maximale, en studs, entre un Character et le ClickDetector ou DragDetector pour que le joueur puisse interagir avec lui. Par instance, un personnage à moins de 10
Méthodes
Évènements
MouseClick
Cet événement se déclenche à partir d'un Script ou d'un LocalScript lorsqu'un joueur interagit avec un ClickDetector ou 2>Class.DragDetector2> via les entrées suivantes :
- Sur les plates-formes avec une souris, lorsque le joueur a quitté les clics de souris.
- Sur les plates-formes TouchEnabled, lorsque le joueur appuie.
- Sur les plates-formes GamepadEnabled, lorsque le point central est sur le même modèle et que le bouton A est pressé et relâché.
Remarquez que le joueur de Character doit être dans la zone de MaxActivationDistance du détecteur.
Paramètres
Le Player qui a cliqué sur le parent d'un ClickDetector ou DragDetector.
MouseHoverEnter
Cet événement se déclenche à partir d'un Script ou d'un LocalScript lorsque le parent d'un ClickDetector ou 2>Class.DragDetector2> est survolé par un joueur. Cela ne nécess
En raison de la nature de l'entrée de l'utilisateur, vous ne devriez pas dépendre de tous les événements MouseHoverEnter qui tirent un événement correspondant MouseHoverLeave .
Paramètres
Le Player qui a commencé à passer le curseur sur le parent d'un ClickDetector ou DragDetector.
Échantillons de code
The following code will print "[PlayerName] hovered over my parent!" when a player's cursor hovers over the ClickDetector parent. It will also print "[PlayerName] hovered off my parent!" when the player's cursor moves off the ClickDetector parent.
In order for this example to work as expected, it must be placed in a Script or LocalScript whose parent is 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
Cet événement se déclenche à partir d'un Script ou d'un LocalScript lorsque le curseur d'un joueur passe du parent d'un ClickDetector ou d'un 1> Class.
En raison de la nature de l'entrée de l'utilisateur, vous ne devriez pas dépendre de tous les événements MouseHoverLeave qui se déclenchent après un événement correspondant MouseHoverEnter .
Paramètres
Le Player dont le curseur est passé du parent d'un ClickDetector ou DragDetector.
Échantillons de code
The following code will print "[PlayerName] hovered over my parent!" when a player's cursor hovers over the ClickDetector parent. It will also print "[PlayerName] hovered off my parent!" when the player's cursor moves off the ClickDetector parent.
In order for this example to work as expected, it must be placed in a Script or LocalScript whose parent is 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
Cet événement se déclenche à partir d'un Script ou d'un LocalScript lorsqu'un joueur fait un clic droit sur leur curseur de souris sur un ClickDetector ou 2>Class.DragDetector2>. Notez que le joueur doit être dans
Paramètres
Le Player qui a cliqué avec le bouton droit de la souris sur le parent d'un ClickDetector ou DragDetector.