ClickDetector
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Klicke auf Detektor erlaubt Scripts und Class.LocalScript|LocalScripts </
Die Standard-Steuerscripte binden ButtonR2 mit ClickDetectors , was auch verwendet werden kann, um dies zu übertreiben. Wenn
MaxActivationDistance kann verwendet werden, um die Entfernung zu begrenzen, die ein Spieler von einem Klickdetektor entfernt sein kann, bevor er nicht mehr klickbar ist.
ClickDetector Ereignisse feuern
Eingabe-Priorität
Wenn mehrere ClickDetectors die Benutzer-Eingabe erkennen, nur das Tiefste wird Ereignisse abfeuern. Wenn zwei ClickDetectors sind Schwestern, wird das erste die Priorität erhalten.
Wenn eine Aktion mit ContextActionService gebunden ist, verwendet die Aktion mit ClickDetector die gleichen Eingaben wie ein ContextActionService. Die Aktion mit 1> Class. Context ActionService1> wird die Vorratsrechte des Klicke-Detektors übersteigen.
UserInputService.InputBegan wird vor ClickDetector Ereignissen feuern.
Code-Beispiele
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)
Zusammenfassung
Eigenschaften
Setzt das Cursor-Symbol an, wenn die Maus über das親 dieses ClickDetector oder DragDetector bewegt wird.
Maximale Entfernung zwischen einem Charakter und dem ClickDetector oder DragDetector für den Spieler, um mit ihm interagieren zu können.
Ereignisse
Feuert, wenn ein Spieler mit dem Elternteil eines ClickDetector oder DragDetector interagiert.
Feuert, wenn der Elternteil eines ClickDetector oder DragDetector von einem Spieler:inüber dem Kopf gehalten wird.
Feuert, wenn der Cursor eines Spieler:inüber dem Elternteil eines ClickDetector oder DragDetector schwebt.
Feuert ab, wenn ein Spieler mit der rechten Maustaste auf einem ClickDetector oder DragDetector feuert.
Eigenschaften
CursorIcon
Setzt das Cursor-Symbol an, wenn die Maus über den Elternteil dieses ClickDetector oder DragDetector bewegt wird. Wenn diese Eigenschaft leer bleibt, verwendet der Detektor das Standard-Symbol.
Um das Cursor-Symbol zu ändern, setzen Sie diese Eigenschaft auf die Asset-ID des Bildes, das Sie verwenden möchten.
MaxActivationDistance
Dieses Eigenschaften kontrolliert die maximale Distanz, in Studs, zwischen einem Character und dem ClickDetector oder DragDetector für den Spieler, um mit ihm zu interagieren. Zum Instanz, ein
Methoden
Ereignisse
MouseClick
Dieses Ereignis wird von einem LocalScript oder ClickDetector ausgelöst, wenn ein Spieler mit einem 1>Class.ClickDetector1> oder 4>Class.DragDetector4> über die folgenden Eingänge interagiert:
- Auf Plattformen mit einer Maus, wenn der Spieler die Maus verlässt.
- Auf TouchEnabled Plattformen, wenn der Spieler tippt.
- Auf GamepadEnabled Plattformen, wenn der mittlere Punkt über das gleiche Modell und die A -Schaltfläche gedrückt und freigelassen wird.
Beachten Sie, dass der Spieler:inCharacter innerhalb der MaxActivationDistance des Detektors sein muss.
Parameter
Der Player, der auf den Elternteil eines ClickDetector oder DragDetector klickt hat.
MouseHoverEnter
Dieses Ereignis wird von einem Script oder LocalScript ausgelöst, wenn der Elternteil eines ClickDetector oder 1>Class.DragDetector1> von einem Spieler:inüber eine Schaltfläche 4>Class.
Aufgrund der Art der Benutzer-Eingabe solltest du nicht auf alle MouseHoverEnter Ereignisse, die entsprechende MouseHoverLeave Ereignisse auslösen, angewiesen.
Parameter
Der Player, der mit der Maus über den Elternteil eines ClickDetector oder DragDetector .
Code-Beispiele
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
Dieses Ereignis wird von einem Script oder LocalScript ausgelöst, wenn der Cursor eines Spieler:invon der Elternfigur eines ClickDetector oder 1>Class.DragDetector1> abgehoben ist.
Aufgrund der Natur des Benutzereingangs solltest du nicht auf alle MouseHoverLeave Ereignisse nach einem entsprechenden MouseHoverEnter Ereignis angewiesen.
Parameter
Der Player, dessen Cursor von der Eltern einer ClickDetector oder DragDetector abgeleitet ist.
Code-Beispiele
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
Dieses Ereignis wird von einem Script oder LocalScript ausgelöst, wenn ein Spieler die rechte Maustaste auf einem ClickDetector oder 1> Class.DragDetector1> klickt. Beachten Sie, dass der Spieler:in
Parameter
Der Player, der mit der rechten Maustaste auf den Elternteil eines ClickDetector oder DragDetector klickt hat.