ClickDetector
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
คลิกเดตเตอร์ สามารถให้ Scripts แล
สคริปต์การควบคุมเริ่มต้นใช้ ButtonR2 เพื่อใช้งานกับ
MaxActivationDistance สามารถใช้เพื่อจํากัดระยะที่ผู้เล่นอาจจะอยู่จากเครื่องคิดเลเซอร์หลังจากที่มันไม่สามารถคลิกได้อีกต่อไป
ClickDetector เหตุกา
การกำหนดความสามารถ
หากมีหลาย ClickDetectors อาจตรวจพบการป้อนของผู้ใช้ เฉพาะสิ่งที่ลึกที่สุดเท่านั้นที่จะเปิดอีเวนต์ หากสอง ClickDetectors เป็นพี่น้อง สิ่งแรกจะได้รับความสำคัญ
หากการกระทําที่เกี่ยวข้องกับ ContextActionService ใช้ปุ่มเดียวกับ ClickDetector การกระทําที่เกี่ยวข้องกับ ContextActionService จะมีความสําคัญเหนือเหตุการณ์ของเครื่องมือตรว
UserInputService.InputBegan จะเริ่มก่อนกิจกรรม ClickDetector เหตุการณ์
ตัวอย่างโค้ด
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)
สรุป
คุณสมบัติ
ตั้งไอคอนเมาส์ให้ปรากฏเมื่อเมาส์อยู่เหนือหัวของ ClickDetector หรือ DragDetector
ระยะเวลาสูงสุดระหว่างตัวละครและ ClickDetector หรือ DragDetector สำหรับผู้เล่นที่จะสามารถใช้งานได้
อีเวนต์
จะเกิดขึ้นเมื่อผู้เล่นใช้งานกับพ่อของ ClickDetector หรือ DragDetector
เกิดเหตุผิดพลาดเมื่อผู้ปกครองของ ClickDetector หรือ DragDetector ถูกวางบนโดยผู้เล่น
จะเกิดขึ้นเมื่อผู้เล่นไม่ได้เป็นเจ้าของ ClickDetector หรือ DragDetector พ่อ
กระตุ้นเมื่อผู้เล่นคลิกเมาส์ของพวกเขาบน ClickDetector หรือ DragDetector
คุณสมบัติ
CursorIcon
ตั้งไอคอนเลเซอร์ให้ปรากฏเมื่อเมาส์ถูกวางบนผู้ปกครองของ ClickDetector หรือ DragDetector หากปล่อยไว้โมฆะไม่ได้ ตัวนับจะใช้ไอคอนเริ่มต้น
เพื่อเปลี่ยนไอคอนเมาส์ให้เป็นรหัสสมบัติของรูปภาพที่คุณต้องการใช้
MaxActivationDistance
สมบัตินี้ควบคุมระยะสูงสุดใน studs ระหว่าง Character และ ClickDetector หรือ DragDetector
วิธีการ
อีเวนต์
MouseClick
เหตุการณ์นี้จะเกิดขึ้นจาก Script หรือ LocalScript เมื่อผู้เล่นใช้งานกับ ClickDetector หรือ 1> Class.DragDetector1> ผ่านทางการป้อนข้อมูลต่อไปนี้:
- บนแพลตฟอร์มที่มีเมาส์เมื่อผู้เล่นคลิกเมาส์ออก
- บน TouchEnabled แพลตฟอร์มเมื่อผู้เล่นแตะ
- บนแพลตฟอร์ม GamepadEnabled เมื่อดวงจุดกลางอยู่ในรุ่นเดียวกันและปุ่ม A ถูกกดและปล่อย
หมายเหตุว่าผู้เล่นของ Character ต้องอยู่ภายใน MaxActivationDistance ของเครื่องตรวจจับ
พารามิเตอร์
Class.Player ที่คลิกที่พ่อของ ClickDetector หรือ DragDetector
MouseHoverEnter
เหตุการณ์นี้จะเกิดขึ้นจาก Script หรือ LocalScript เมื่อพ่อของ ClickDetector หรื
เนื่องจากลักษณะการป้อนของผู้ใช้ดังนั้นคุณจึงไม่ควรขึ้นอยู่กับทุก MouseHoverEnter เหตุการณ์ที่ยิงเหตุการณ์ที่ตรงกัน MouseHoverLeave เหตุการณ์
พารามิเตอร์
Class.Player ที่เริ่มเลื่อนเหนือพ่อของ ClickDetector หรือ DragDetector
ตัวอย่างโค้ด
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
เหตุการณ์นี้จะเกิดขึ้นจาก Script หรือ LocalScript เมื่อผู้เล่นไม่ได้วางเมาส์อย
เนื่องจากลักษณะการป้อนของผู้ใช้ที่คุณไม่ควรพึ่งพาการประกาศเหตุการณ์ทั้งหมด MouseHoverLeave เมื่อเหตุการณ์ที่เกี่ยวข้อง MouseHoverEnter เกิดขึ้น
พารามิเตอร์
Class.Player ผู้ที่เลื่อนเมาส์ออกจากพ่อของ ClickDetector หรือ DragDetector
ตัวอย่างโค้ด
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
เหตุการณ์นี้จะเกิดขึ้นจาก Script หรือ LocalScript เมื่อผู้เล่นคลิกเมาส์ของพวกเขาใน Class.ClickDet
พารามิเตอร์
The Player ที่คลิกเมาส์ของพวกเขาให้เป็นเครื่องหมายบนพ่อของ ClickDetector หรือ DragDetector