ClickDetector
*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
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)
Podsumowanie
Właściwości
Ustawia ikonę kursora do wyświetlenia, gdy myszka jest położona nad ClickDetector lub DragDetector .
Maksymalna odległość między postacią a ClickDetector lub DragDetector dla gracza, aby mógł z nim interagować.
Zdarzenia
Występuje, gdy gracz interaguje z rodzicem ClickDetector lub DragDetector.
Wystąpi, gdy ClickDetector lub DragDetector jest położony na pasku przez gracza.
Wystąpi, gdy kursor gracza położony jest poza ClickDetector lub DragDetector.
Wystąpi, gdy gracz right klikuje swojego kursora na ClickDetector lub DragDetector.
Właściwości
CursorIcon
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
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
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
Class.Player, który rozpoczął nadawać kursorem nad ojcem ClickDetector lub DragDetector.
Przykłady kodu
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
Class.Player, który któryj kurserze się od rodzica Class.ClickDetector lub Class.DragDetector.
Przykłady kodu
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
Ten, który po lewej stronie myszki kliknął swojego kursora na Class.ClickDetector lub Class.DragDetector .