ClickDetector

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

KliknijDetektor umożliwia Scripts i Class.LocalScript|LocalScripts

Domyślne skrypty kontrolne wiążą się z ButtonR2 używając ClickDetectors, co może być również uży

MaxActivationDistance można użyć do ograniczenia odległości, jaką gracz może mieć od krystalnego kursora, zanim stanie się nieklikalny.

ClickDetector wydarzenia pojawia

Priorytet wejścia

Jeśli wiele ClickDetectors może wykryć wejście użytkownika, tylko najgłębszy będzie pożarywał wydarzenia. Jeśli dwa ClickDetectors są bratanymi, pierwszy będzie priorytetem.

Jeśli akcja związana z ContextActionService używa tego samego wejścia, co ClickDetector, akcja związana z ContextActionService będzie miała priorytet nad wydarzeniami kliknięcia detektora.

UserInputService.InputBegan będzie działać przed wydarzeniami ClickDetector.

Przykłady kodu

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)

Podsumowanie

Właściwości

Zdarzenia

Właściwości

CursorIcon

ContentId
Odczyt równoległy

Ustawia ikonę kursora do wyświetlenia, gdy myszka jest nad nim kursorem rodzicielskim tego ClickDetector lub DragDetector. Jeśli ta właściwość pozostanie pusta, wykrywacz będzie używał domyślnej ikona.

Aby zmienić ikonakursora, ustaw tę właściwość na ID zasobu, którego chcesz użyć.

MaxActivationDistance

Odczyt równoległy

To właściwość kontroluje maksymalną odległość, w studs, między Character a ClickDetector lub DragDetector dla gracza, aby mógł z nim interagować

Metody

Zdarzenia

MouseClick

Ten ewent zostanie uruchomiony z Script lub LocalScript , gdy gracz wchodzi w interakcję z ClickDetector lub 1> Class.DragDetector1> za pośrednictwem następujących wpisów:

  • Na platformach z myszką, gdy gracz opuści myszkę kliknięcia.
  • Na TouchEnabled platformach, gdy gracz dotyka.
  • Na GamepadEnabled platformach, gdy kropka środkowa jest nad tym samym modelem i przycisk A jest naciskany i uwolniony.

Uwaga, że Character gracza musi być w MaxActivationDistance działania detektora.

Parametry

playerWhoClicked: Player

Class.Player, który kliknął na rodzica ClickDetector lub DragDetector.


MouseHoverEnter

Ten ewent wyrzuca się z Script lub LocalScript , gdy rodzic ClickDetector lub 1> Class.DragDetector1> jest różażony przez gracza. Nie

Ze względu na naturę wejścia użytkownika nie powinieneś uzależniać się od wszystkich wydarzeń MouseHoverEnter, które uruchdzają odpowiedni MouseHoverLeave wydarzenie.

Parametry

playerWhoHovered: Player

Class.Player, który rozpoczął nadawać kursorem nad ojcem ClickDetector lub DragDetector.


Przykłady kodu

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

Ten ewent wyrzuca się z Script lub LocalScript , gdy kursor gracza położony jest na ClickDetector lub 1> Class.DragDetector1> . Nie w

Ze względu na naturę wejścia użytkownika, nie powinieneś uzależniać się od wszystkich wydarzeń MouseHoverLeave po wszystkich odpowiednich wydarzeń MouseHoverEnter.

Parametry

playerWhoHovered: Player

Class.Player, który któryj kurserze się od rodzica Class.ClickDetector lub Class.DragDetector.


Przykłady kodu

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

Ten ewent wyrzuca się z Script lub LocalScript , gdy gracz prawy kliknięty swoim kursorem na ClickDetector lub 1> Class.DragDetector1> . Uwaga, że gr

Parametry

playerWhoClicked: Player

Ten, który po lewej stronie myszki kliknął swojego kursora na Class.ClickDetector lub Class.DragDetector .