ClickDetector

Afficher les obsolètes

*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

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)

Résumé

Propriétés

Évènements

Propriétés

CursorIcon

ContentId
Lecture parallèle

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

Lecture parallèle

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

playerWhoClicked: Player

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

playerWhoHovered: Player

Le Player qui a commencé à passer le curseur sur le parent d'un ClickDetector ou DragDetector.


Échantillons de code

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

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

playerWhoHovered: Player

Le Player dont le curseur est passé du parent d'un ClickDetector ou DragDetector.


Échantillons de code

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

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

playerWhoClicked: Player

Le Player qui a cliqué avec le bouton droit de la souris sur le parent d'un ClickDetector ou DragDetector.