Mouse
Mouse : Instance
Overview
Mouse provides functions related to detecting mouse button clicks.
However, for stable handling of inputs in mobile environments, it is recommended to use UserInputService and ContextActionService instead of Mouse.
Properties
Hit
CFrame
Returns the CFrame value in 3D space at which the mouse pointer is pointing.
Code Samples
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
local function UpdateEvent(deltaTime)
print("Hit Position : ", Mouse.Hit.Position)
end
RunService.Heartbeat:Connect(UpdateEvent)
Origin
CFrame
Currently not supported.
Code Samples
Target
BasePart
This property returns the 3D object the mouse pointer is currently pointing at.
If pointing at a non-BasePart area (e.g., sky), the Target value returns nil.
Code Samples
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
local function OnButton1Down()
print("Button1Down", Mouse.Target)
if Mouse.Target.Name == "SpawnLocation" then
print("Hit SpawnLocation!")
end
end
Mouse.Button1Down:Connect(OnButton1Down)
ViewSizeX
number
Returns the horizontal screen resolution in pixels.
Code Samples
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
print("ViewSize : ", Mouse.ViewSizeX, " / ", Mouse.ViewSizeY)
ViewSizeY
number
Returns the vertical screen resolution in pixels.
Code Samples
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
print("ViewSize : ", Mouse.ViewSizeX, " / ", Mouse.ViewSizeY)
X
number
Returns the horizontal coordinate on screen in pixels when the mouse is clicked.
Code Samples
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
local function UpdateEvent(deltaTime)
print("Mouse Position : ", Mouse.X, " / ", Mouse.Y)
end
RunService.Heartbeat:Connect(UpdateEvent)
Y
number
Returns the vertical coordinate on screen in pixels when the mouse is clicked.
Code Samples
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
local function UpdateEvent(deltaTime)
print("Mouse Position : ", Mouse.X, " / ", Mouse.Y)
end
RunService.Heartbeat:Connect(UpdateEvent)
Methods
Events
Button1Down
This event is executed when the player presses the left mouse button.
Parameters
Code Samples
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
local function OnButton1Down()
print("Button1Down", Mouse.Target)
end
Mouse.Button1Down:Connect(OnButton1Down)
Button1Up
This event is executed when the player releases the left mouse button.
Parameters
Code Samples
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
local function OnButton1Up()
print("Button1Up")
end
Mouse.Button1Up:Connect(OnButton1Up)
Button2Down
This event is executed when the player presses the right mouse button.
Parameters
Code Samples
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
local function OnButton2Down()
print("Button2Down", Mouse.Target)
end
Mouse.Button2Down:Connect(OnButton2Down)
Button2Up
This event is executed when the player releases the right mouse button.
Parameters
Code Samples
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
local function OnButton2Up()
print("Button2Up")
end
Mouse.Button2Up:Connect(OnButton2Up)
TouchStarted
(deprecated) This event is executed when the player presses the screen.
It is recommended to use the TouchStarted event of UserInputService.
Parameters
number
x
number
y
number
z
Code Samples
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
local function OnTouchStarted()
print("TouchStarted")
end
Mouse.TouchStarted:Connect(OnTouchStarted)
TouchEnded
(deprecated) This event is executed when the player releases their finger from the screen.
It is recommended to use the TouchEnded event of UserInputService.
Parameters
number
x
number
y
number
z
Code Samples
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
local function OnTouchEnded()
print("TouchEnded")
end
Mouse.TouchEnded:Connect(OnTouchEnded)
See also
Mobile Input HandlingLast updated