ClickDetector

Veraltete anzeigen

*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

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)

Zusammenfassung

Eigenschaften

Ereignisse

Eigenschaften

CursorIcon

ContentId
Parallel lesen

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

Parallel lesen

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

playerWhoClicked: Player

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

playerWhoHovered: Player

Der Player, der mit der Maus über den Elternteil eines ClickDetector oder DragDetector .


Code-Beispiele

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

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

playerWhoHovered: Player

Der Player, dessen Cursor von der Eltern einer ClickDetector oder DragDetector abgeleitet ist.


Code-Beispiele

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

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

playerWhoClicked: Player

Der Player, der mit der rechten Maustaste auf den Elternteil eines ClickDetector oder DragDetector klickt hat.