Engine Class
Mouse
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
สรุป
คุณสมบัติ
Icon:ContentId |
เหตุการณ์
KeyDown(key: string):RBXScriptSignal |
keyDown(key: string):RBXScriptSignal |
KeyUp(key: string):RBXScriptSignal |
ได้รับทอดโดย
เอกสารอ้างอิงเกี่ยวกับ API
คุณสมบัติ
Hit
ตัวอย่างโค้ด
ลเซอร์บีม เมาส์.ฮิต
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local beam = Instance.new("Beam")
beam.Segments = 1
beam.Width0 = 0.2
beam.Width1 = 0.2
beam.Color = ColorSequence.new(Color3.new(1, 0, 0))
beam.FaceCamera = true
local attachment0 = Instance.new("Attachment")
local attachment1 = Instance.new("Attachment")
beam.Attachment0 = attachment0
beam.Attachment1 = attachment1
beam.Parent = workspace.Terrain
attachment0.Parent = workspace.Terrain
attachment1.Parent = workspace.Terrain
local function onRenderStep()
local character = player.Character
if not character then
beam.Enabled = false
return
end
local head = character:FindFirstChild("Head")
if not head then
beam.Enabled = false
return
end
beam.Enabled = true
local origin = head.Position
local finish = mouse.Hit.Position
attachment0.Position = origin
attachment1.Position = finish
end
RunService.RenderStepped:Connect(onRenderStep)ต้นกำเนิดเมาส์ กับ จุดที่เมาส์ชน กับ ตำแหน่งของ CurrentCamera
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local player = Players.LocalPlayer
local camera = Workspace.CurrentCamera
local mouse = player:GetMouse()
local camPos = camera.CFrame.Position
local function onButton1Down()
print("Mouse.Hit:", mouse.Hit.Position)
print("camPos:", camPos)
print("Mouse.Origin:", mouse.Origin.Position)
print("Magnitude:", (mouse.Origin.Position - camPos).Magnitude)
end
mouse.Button1Down:Connect(onButton1Down)hit
Icon
Mouse.Icon:ContentId
ตัวอย่างโค้ด
ไอคอนเมาส์มังกร
local Players = game:GetService("Players")
local mouse = Players.LocalPlayer:GetMouse()
mouse.Icon = "http://www.roblox.com/asset?id=163023520"IconContent
ตัวอย่างโค้ด
ไอคอนเมาส์มังกร
local Players = game:GetService("Players")
local mouse = Players.LocalPlayer:GetMouse()
mouse.Icon = "http://www.roblox.com/asset?id=163023520"Origin
ตัวอย่างโค้ด
ต้นกำเนิดเมาส์ กับ จุดที่เมาส์ชน กับ ตำแหน่งของ CurrentCamera
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local player = Players.LocalPlayer
local camera = Workspace.CurrentCamera
local mouse = player:GetMouse()
local camPos = camera.CFrame.Position
local function onButton1Down()
print("Mouse.Hit:", mouse.Hit.Position)
print("camPos:", camPos)
print("Mouse.Origin:", mouse.Origin.Position)
print("Magnitude:", (mouse.Origin.Position - camPos).Magnitude)
end
mouse.Button1Down:Connect(onButton1Down)Target
ตัวอย่างโค้ด
เครื่องมือสุ่มสี
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
mouse.Button1Down:Connect(function()
local target = mouse.Target
if target then
print("คลิก:", target:GetFullName())
if target:IsA("BasePart") then
target.BrickColor = BrickColor.random()
end
end
end)target
TargetSurface
ตัวอย่างโค้ด
การสุ่มพื้นผิว
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local surfaceTypes = {
Enum.SurfaceType.Smooth,
Enum.SurfaceType.Glue,
Enum.SurfaceType.Weld,
Enum.SurfaceType.Studs,
Enum.SurfaceType.Inlet,
Enum.SurfaceType.Universal,
Enum.SurfaceType.Hinge,
Enum.SurfaceType.Motor,
}
local function onMouseClick()
-- ตรวจสอบให้แน่ใจว่าสัญญาณเมาส์ชี้ไปที่ส่วนหนึ่ง
local target = mouse.Target
if not target then
return
end
local surfaceType = surfaceTypes[math.random(1, #surfaceTypes)]
local surface = mouse.TargetSurface
local propertyName = surface.Name .. "Surface"
mouse.Target[propertyName] = surfaceType
end
mouse.Button1Down:Connect(onMouseClick)ViewSizeX
ตัวอย่างโค้ด
ตำแหน่งเมาส์ที่ปรับปกติ
local Players = game:GetService("Players")
-- หมายเหตุ: คุณควรใช้ ContextActionService หรือ UserInputService แทน
-- วัตถุ Mouse ในการทำภารกิจนี้.
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local function onMouseMove()
-- สร้างวัตถุ Vector2 สำหรับตำแหน่งของเมาส์และขนาดของหน้าจอ
local position = Vector2.new(mouse.X, mouse.Y)
local size = Vector2.new(mouse.ViewSizeX, mouse.ViewSizeY)
-- ตำแหน่งที่ปรับปกติจะทำให้มุมซ้ายบน (เพียงใต้แถบด้านบน)
-- กลายเป็น (0, 0) มุมขวาล่างเป็น (1, 1) และจุดกลางเป็น (0.5, 0.5).
-- สิ่งนี้ถูกคำนวณโดยการหารตำแหน่งด้วยขนาดรวม.
local normalizedPosition = position / size
print(normalizedPosition)
end
mouse.Move:Connect(onMouseMove)ViewSizeY
ตัวอย่างโค้ด
ตำแหน่งเมาส์ที่ปรับปกติ
local Players = game:GetService("Players")
-- หมายเหตุ: คุณควรใช้ ContextActionService หรือ UserInputService แทน
-- วัตถุ Mouse ในการทำภารกิจนี้.
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local function onMouseMove()
-- สร้างวัตถุ Vector2 สำหรับตำแหน่งของเมาส์และขนาดของหน้าจอ
local position = Vector2.new(mouse.X, mouse.Y)
local size = Vector2.new(mouse.ViewSizeX, mouse.ViewSizeY)
-- ตำแหน่งที่ปรับปกติจะทำให้มุมซ้ายบน (เพียงใต้แถบด้านบน)
-- กลายเป็น (0, 0) มุมขวาล่างเป็น (1, 1) และจุดกลางเป็น (0.5, 0.5).
-- สิ่งนี้ถูกคำนวณโดยการหารตำแหน่งด้วยขนาดรวม.
local normalizedPosition = position / size
print(normalizedPosition)
end
mouse.Move:Connect(onMouseMove)X
ตัวอย่างโค้ด
ตำแหน่งเมาส์ที่ปรับปกติ
local Players = game:GetService("Players")
-- หมายเหตุ: คุณควรใช้ ContextActionService หรือ UserInputService แทน
-- วัตถุ Mouse ในการทำภารกิจนี้.
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local function onMouseMove()
-- สร้างวัตถุ Vector2 สำหรับตำแหน่งของเมาส์และขนาดของหน้าจอ
local position = Vector2.new(mouse.X, mouse.Y)
local size = Vector2.new(mouse.ViewSizeX, mouse.ViewSizeY)
-- ตำแหน่งที่ปรับปกติจะทำให้มุมซ้ายบน (เพียงใต้แถบด้านบน)
-- กลายเป็น (0, 0) มุมขวาล่างเป็น (1, 1) และจุดกลางเป็น (0.5, 0.5).
-- สิ่งนี้ถูกคำนวณโดยการหารตำแหน่งด้วยขนาดรวม.
local normalizedPosition = position / size
print(normalizedPosition)
end
mouse.Move:Connect(onMouseMove)Y
ตัวอย่างโค้ด
ตำแหน่งเมาส์ที่ปรับปกติ
local Players = game:GetService("Players")
-- หมายเหตุ: คุณควรใช้ ContextActionService หรือ UserInputService แทน
-- วัตถุ Mouse ในการทำภารกิจนี้.
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local function onMouseMove()
-- สร้างวัตถุ Vector2 สำหรับตำแหน่งของเมาส์และขนาดของหน้าจอ
local position = Vector2.new(mouse.X, mouse.Y)
local size = Vector2.new(mouse.ViewSizeX, mouse.ViewSizeY)
-- ตำแหน่งที่ปรับปกติจะทำให้มุมซ้ายบน (เพียงใต้แถบด้านบน)
-- กลายเป็น (0, 0) มุมขวาล่างเป็น (1, 1) และจุดกลางเป็น (0.5, 0.5).
-- สิ่งนี้ถูกคำนวณโดยการหารตำแหน่งด้วยขนาดรวม.
local normalizedPosition = position / size
print(normalizedPosition)
end
mouse.Move:Connect(onMouseMove)เหตุการณ์
Idle
ตัวอย่างโค้ด
เมาส์.อยู่นิ่ง
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local events = {
"Button1Down",
"Button1Up",
"Button2Down",
"Button2Up",
"Idle",
"Move",
"WheelBackward",
"WheelForward",
"KeyDown",
"KeyUp",
}
local currentEvent
local frame = 0
local function processInput()
frame = frame + 1
print("เฟรม", frame, "- เหตุการณ์เมาส์ถูกส่งไปที่", currentEvent)
end
for _, event in pairs(events) do
mouse[event]:Connect(function()
currentEvent = event
end)
end
RunService:BindToRenderStep("ProcessInput", Enum.RenderPriority.Input.Value, processInput)KeyDown
keyDown
KeyUp
Move
ตัวอย่างโค้ด
เคลื่อนที่ชิ้นส่วนด้วยเมาส์
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local point
local down
local function selectPart()
if mouse.Target and not mouse.Target.Locked then
point = mouse.Target
mouse.TargetFilter = point
down = true
end
end
local function movePart()
if down and point then
local posX, posY, posZ = mouse.Hit.X, mouse.Hit.Y, mouse.Hit.Z
point.Position = Vector3.new(posX, posY, posZ)
end
end
local function deselectPart()
down = false
point = nil
mouse.TargetFilter = nil
end
mouse.Button1Down:Connect(selectPart)
mouse.Button1Up:Connect(deselectPart)
mouse.Move:Connect(movePart)WheelBackward
ตัวอย่างโค้ด
เมาส์.เลื่อนถอยหลัง
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local function onWheelBackward()
print("ล้อเลื่อนถอยหลัง!")
end
mouse.WheelBackward:Connect(onWheelBackward)WheelForward
ตัวอย่างโค้ด
Mouse.WheelForward
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local function onWheelForward()
print("ล้อนี้ไปข้างหน้า!")
end
mouse.WheelForward:Connect(onWheelForward)