Mouse

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Oluşturulamaz

Fare , daha geniş bir kapsama sahip olan UserInputService ve ContextActionService tarafından geçildi, daha fazla özellik içeriyor ve çapraz platform modellerini daha iyi destekliyor.Yaygın kullanımı nedeniyle desteklenmeye devam ediyor, ancak bu alternatifleri kullanmayı düşünmelisiniz.

Fare nesnesi çeşitli API'ler barındırır, öncelikle düğmeler ve ışın atışı için.Bir Player:GetMouse() üzerinden erişilebilir Players.LocalPlayer bir LocalScript içinde çağrılan .Ayrıca Tool.Equipped etkinliği tarafından geçer.


-- Bir YerelScript'ten:
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
-- Fare simgesini ayarlama
mouse.Icon = "rbxasset://SystemCursors/Wait"

Not:

  • Bu nesne, işaret hareketini kontrol etmiyor/sınırlandırmıyor. Bunun için, UserInputService.MouseBehavior ve UserInputService.MouseDeltaSensitivity görün.

  • Eğer iki işlev aynı giriş olayına bağlıysa, örneğin , her iki işlev de olay ateşlendiğinde çalışacaktır.Etkinlikler bu davranışı desteklemiyor olduğundan, batış/geçiş girişi konsepti yoktur.Ancak, ContextActionService bu davranışı BindAction aracılığıyla sahiptir.

  • Bir fare tüm platformlarda mevcut olmayabilir, ancak Fare hala mobil (dokunma) ve konsol (oyun kolu) üzerinde çalışır, ki bunlar genellikle fare veya işaretçi donanımına sahip değildir.Açık çapraz platform davranışları için UserInputService ve ContextActionService kullanın.

    Deneyiminizde girişleri özelleştirme hakkında daha fazla bilgi için Giriş ve Kamera bakın.

Özet

Özellikler

  • Salt Okunur
    Çoğaltılmamış
    Paralel oku

    Farenin 3B uzaydaki konumunun CFrame 'si.

  • Icon:ContentId
    Paralel oku

    Mouse simgesi olarak kullanılan görüntünün içeriği ID'si.

  • Salt Okunur
    Çoğaltılmamış
    Paralel oku

    A Datatype.CFrame``Class.Workspace.CurrentCamera konumlandırılmış ve fareye yönelik 3B konumuna yönelik.

  • Salt Okunur
    Çoğaltılmamış
    Paralel oku

    3B uzaydaki nesne mouse işaret ediyor.

  • Bir nesneyi (ve onun soyundakileri) Mouse.Hit ve Mouse.Target saptarken göz ardı edilmesini sağlar.

  • Salt Okunur
    Çoğaltılmamış
    Paralel oku

    Farenin işaret ettiği Enum.NormalId yüzeyin BasePart üzerinde olduğunu gösterir.

  • Salt Okunur
    Çoğaltılmamış
    Paralel oku

    Fare dünya konumuna yönelik bir Ray yönlendirilmiş, Workspace.CurrentCamera dünya konumundan kaynaklanan.

  • Salt Okunur
    Çoğaltılmamış
    Paralel oku

    Oyun penceresinin genişliğini piksel olarak tanımlar.

  • Salt Okunur
    Çoğaltılmamış
    Paralel oku

    Oyun penceresinin yüksekliğini piksel olarak tanımlar.

  • Salt Okunur
    Çoğaltılmamış
    Paralel oku

    Farenin ekranda konumunun X (dikey) bileşenini tanımlar.

  • Salt Okunur
    Çoğaltılmamış
    Paralel oku

    Farenin ekran konumunun Y (dikey) bileşenini tanımlar.

Olaylar

Özellikler

Salt Okunur
Çoğaltılmamış
Paralel oku

Kod Örnekleri

Mouse.Hit Laser Beam

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)
Mouse Origin vs Mouse Hit vs CurrentCamera Position

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)

Icon

ContentId
Paralel oku

Kod Örnekleri

Dragon Mouse Icon

local Players = game:GetService("Players")
local mouse = Players.LocalPlayer:GetMouse()
mouse.Icon = "http://www.roblox.com/asset?id=163023520"

Origin

Salt Okunur
Çoğaltılmamış
Paralel oku

Kod Örnekleri

Mouse Origin vs Mouse Hit vs CurrentCamera Position

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

Salt Okunur
Çoğaltılmamış
Paralel oku

Kod Örnekleri

Renk Rastgeleleştirici Araç

local Players = game:GetService("Players")
local localPlayer = Players.LocalPlayer
local backpack = localPlayer:WaitForChild("Backpack")
local tool = Instance.new("Tool")
tool.RequiresHandle = false
tool.CanBeDropped = false
tool.Parent = backpack
tool.Equipped:Connect(function(mouse)
mouse.Button1Down:Connect(function()
if mouse.Target and mouse.Target.Parent then
mouse.Target.BrickColor = BrickColor.random()
end
end)
end)

TargetFilter

Paralel oku

TargetSurface

Salt Okunur
Çoğaltılmamış
Paralel oku

Kod Örnekleri

Surface Randomizer

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()
-- make sure the mouse is pointing at a part
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)

UnitRay

Salt Okunur
Çoğaltılmamış
Paralel oku

ViewSizeX

Salt Okunur
Çoğaltılmamış
Paralel oku

Kod Örnekleri

Normalized Mouse Position

local Players = game:GetService("Players")
-- Note: You should use ContextActionService or UserInputService instead of
-- the Mouse object for accomplishing this task.
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local function onMouseMove()
-- Construct Vector2 objects for the mouse's position and screen size
local position = Vector2.new(mouse.X, mouse.Y)
local size = Vector2.new(mouse.ViewSizeX, mouse.ViewSizeY)
-- A normalized position will map the top left (just under the topbar)
-- to (0, 0) the bottom right to (1, 1), and the center to (0.5, 0.5).
-- This is calculated by dividing the position by the total size.
local normalizedPosition = position / size
print(normalizedPosition)
end
mouse.Move:Connect(onMouseMove)

ViewSizeY

Salt Okunur
Çoğaltılmamış
Paralel oku

Kod Örnekleri

Normalized Mouse Position

local Players = game:GetService("Players")
-- Note: You should use ContextActionService or UserInputService instead of
-- the Mouse object for accomplishing this task.
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local function onMouseMove()
-- Construct Vector2 objects for the mouse's position and screen size
local position = Vector2.new(mouse.X, mouse.Y)
local size = Vector2.new(mouse.ViewSizeX, mouse.ViewSizeY)
-- A normalized position will map the top left (just under the topbar)
-- to (0, 0) the bottom right to (1, 1), and the center to (0.5, 0.5).
-- This is calculated by dividing the position by the total size.
local normalizedPosition = position / size
print(normalizedPosition)
end
mouse.Move:Connect(onMouseMove)
Salt Okunur
Çoğaltılmamış
Paralel oku

Kod Örnekleri

Normalized Mouse Position

local Players = game:GetService("Players")
-- Note: You should use ContextActionService or UserInputService instead of
-- the Mouse object for accomplishing this task.
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local function onMouseMove()
-- Construct Vector2 objects for the mouse's position and screen size
local position = Vector2.new(mouse.X, mouse.Y)
local size = Vector2.new(mouse.ViewSizeX, mouse.ViewSizeY)
-- A normalized position will map the top left (just under the topbar)
-- to (0, 0) the bottom right to (1, 1), and the center to (0.5, 0.5).
-- This is calculated by dividing the position by the total size.
local normalizedPosition = position / size
print(normalizedPosition)
end
mouse.Move:Connect(onMouseMove)
Salt Okunur
Çoğaltılmamış
Paralel oku

Kod Örnekleri

Normalized Mouse Position

local Players = game:GetService("Players")
-- Note: You should use ContextActionService or UserInputService instead of
-- the Mouse object for accomplishing this task.
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local function onMouseMove()
-- Construct Vector2 objects for the mouse's position and screen size
local position = Vector2.new(mouse.X, mouse.Y)
local size = Vector2.new(mouse.ViewSizeX, mouse.ViewSizeY)
-- A normalized position will map the top left (just under the topbar)
-- to (0, 0) the bottom right to (1, 1), and the center to (0.5, 0.5).
-- This is calculated by dividing the position by the total size.
local normalizedPosition = position / size
print(normalizedPosition)
end
mouse.Move:Connect(onMouseMove)

Yöntemler

Olaylar

Button1Down


Button1Up


Button2Down


Button2Up


Idle


Kod Örnekleri

Fare.Boşta

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", frame, "- mouse event was passed to", currentEvent)
end
for _, event in pairs(events) do
mouse[event]:Connect(function()
currentEvent = event
end)
end
RunService:BindToRenderStep("ProcessInput", Enum.RenderPriority.Input.Value, processInput)

Move


Kod Örnekleri

Move Parts with the Mouse

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


Kod Örnekleri

Mouse.WheelBackward

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local function onWheelBackward()
print("Wheel went backwards!")
end
mouse.WheelBackward:Connect(onWheelBackward)

WheelForward


Kod Örnekleri

Mouse.WheelForward

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local function onWheelForward()
print("Wheel went forward!")
end
mouse.WheelForward:Connect(onWheelForward)