Mouse

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません

マウスUserInputServiceContextActionService によって代わりました。これらは、より広い範囲をカバーし、より機能性の高い、クロスプラットフォーム対応のパターンをサポートしています。それらの代替を強く推奨するためにサポートされますが

マウスオブジェクトは、ポインターのためのさまざまな API をホストします。主にボタンとレイキャストのためです。 Class.Player:GetMouse() は、Class.Players.LocalPlayer の Class.LocalScript で呼び出されます。 2>Class.Tool.Equipped2> イ

  • Class.Mouse.Icon|Icon プロパティは、カーソルの外外見を変更する
  • Class.Mouse.TargetFilter|TargetFilter プロパティを使用して、3D 世界のスクリーンマウスポジションを持続的にレイキャストし、結果を Hit
  • PluginsPlugin:GetMouse() を使用して、同様の動作を持つ PluginMouse を取得できます。

-- ローカルスクリプトから:
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
-- マウスアイコンを設定する
mouse.Icon = "rbxasset://SystemCursors/Wait"

注:

  • このオブジェクトはポインターの動きを制御/制限しません。For これには、UserInputService.MouseBehaviorUserInputService.MouseDeltaSensitivity を参照してください。

  • Class.Mouse.Button1Down|Button1Down などのイベントイベントに接続された 2つの関数が同じイベントを発生させると、両方の関数が実行されます。 Class. Context Action Service は、イベントがこの動作をサポートしないため、Class. Context Action Service

  • モバイルプラットフォームではマウスが利用できない場合がありますが、マウスはモバイル (タッチ) とコンソール (ゲームパッド) の両方で機能します (通常はマウスやポインターハードウェアがない)。詳細なクロスプラットフォーム動作は、UserInputServiceContextActionService を参照してくだ

    エクスペリエンスで入力のカスタマイズに関する詳細は、入力とカメラ を参照してください。

概要

プロパティ

  • 読み取り専用
    複製されていません
    並列読み取り

    マウスの位置の 3D 空間の中の CFrame の位置。

  • Icon:ContentId
    並列読み取り

    画像の Class.Mouse アイコンのコンテンツ ID。

  • 読み取り専用
    複製されていません
    並列読み取り

    Class.Workspace.CurrentCamera の位置にあり、マウスの 3D 位置に向けてオリエントされた A Workspace.CurrentCamera

  • 読み取り専用
    複製されていません
    並列読み取り

    3D 空間のオブジェクトは、mouse です。

  • 並列読み取り

    オブジェクト (そしてその子孫) をイグノールするオブジェクト (とその子孫) をイグノールするオブジェクトを決定します。

  • 読み取り専用
    複製されていません
    並列読み取り

    マウスがポイントしている Enum.NormalId の表面の BasePart を示します。

  • 読み取り専用
    複製されていません
    並列読み取り

    A Ray マウスの世界の位置に向かって、Workspace.CurrentCamera の世界の位置から起源します。

  • 読み取り専用
    複製されていません
    並列読み取り

    ゲームウィンドウの幅をピクセル単位で説明します。

  • 読み取り専用
    複製されていません
    並列読み取り

    ゲームウィンドウの高さをピクセル単位で説明します。

  • 読み取り専用
    複製されていません
    並列読み取り

    マウスの位置の X コンポーネントを説明します。

  • 読み取り専用
    複製されていません
    並列読み取り

    マウスのスクリーンポジションの Y コンポーネントを説明します。

イベント

プロパティ

読み取り専用
複製されていません
並列読み取り

このプロパティは、3D 空間のマウスの位置について CFrame を指します。注意してください Mouse.TargetFilter そしてその子孫は無視されます。

開発者は、次のようにヒットの位置を取得できます:


local position = mouse.Hit.Position

ヒットは通常、 Tools によって、マウスの位置に向かって武器を発射します。

開発者は BasePart マウスがポイントしていることを望んでいますが、Mouse.Target を使用する必要があります。

Mouse.Hit はどう計算されますか?

ヒット CFrame の位置は、マウスの内部の Ray (拡張バージョンの Mouse.UnitRay) とオブジェクトの 3D 空間 (例えば、パーツ) の間のインターセクションポイントとして計算されます。

ヒット CFrame のオリエンテーションは、Mouse.UnitRay の方向に一致します。


local unitRayDirection = mouse.UnitRay.Direction
local mouseHitDirection = mouse.Hit.lookVector
-- unitRayDirection ≈ mouseHitDirection
-- the vectors are approximately equal

注意、Workspace.CurrentCamera のロールは、CFrame のオリエンテーションを計算するときは使用されません。

マウスの内側のレイは 1,000 スタッドに広がります。マウスが 3D 空間のオブジェクトを指していない場合 (たとえば、空を指している場合)、このプロパティは Workspace.CurrentCamera から 1,000 スタッド離れています。

コードサンプル

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
並列読み取り

アイコン はポインターとして使用する画像を決定します。空の場合は、デフォルトの矢印が使用されます。 GuiButton のカーソルがホバーされている間、このプロパティは一時的に無視されます。

カーソルを完全に非表示にするには、透明な画像を使用しないではなく、UserInputService.MouseIconEnabled

エクスペリエンスでユーザーのマウスアイコンを取得/設定するには、UserInputService.MouseIcon を使用する必要があります。Mouse.Icon は、プラグインの新しい API がリリースされた後にデプレートされます。

カーソルのデザイン

次のガイドラインは、自分のマウスカーソルを作成するときに役立つかもしれません:

  • 使用されている画像のサイズは、カーソルのサイズを決定します。
  • 画像の 中央 は、マウスの入力が発行される場所です。
  • デフォルトのマウス画像は 64x64 ピクセルで、マウスは 17x24 ピクセルのスペースを占有します。

System Cursors for PluginMouse

Class.PluginMouse を使用すると、Plugin:GetMouse() から取


<tbody>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-Pointer.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/Arrow</code></td>
<td>デフォルトのクリックと選択。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-PointingHand.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/PointingHand</code></td>
<td>有効なリンク/ボタンの上にマウスポインタを置く。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-OpenHand.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/OpenHand</code></td>
<td>ドラッグ可能なアイテムの上にマウスポインタを置く。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-GrabbingHand.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/ClosedHand ]</code></td>
<td>アイテムをドラッグしています。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-IBeam.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/IBeam</code></td>
<td>テキストフィールドにカーソルを置く。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-ResizeNS.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/SizeNS</code></td>
<td>上下方向のハンドルをホバーする。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-ResizeEW.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/SizeEW</code></td>
<td>横長のサイズ変更ハンドルをホバーする。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-ResizeNESW.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/SizeNESW</code></td>
<td>コーナーのハンドルをホバーオーバーしてサイズを変更します。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-ResizeNWSE.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/SizeNWSE</code></td>
<td>コーナーのハンドルをホバーオーバーしてサイズを変更します。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-ResizeAll.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/SizeAll</code></td>
<td>複数の方向に対応するサイズ変更ハンドルの上にマウスポイント。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-ResizeSplitV.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/SplitNS</code></td>
<td>上下方向の「スプリット」ハンドルをホバーする。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-ResizeSplitH.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/SplitEW</code></td>
<td>横の "スプリット" ハンドルの上にマウスポイント。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-Forbidden.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/Forbidden</code></td>
<td>ロック/禁止されたアイテムの上にマウスポインタを置く。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-Wait.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/Wait</code></td>
<td>アクションが進行中と表示します。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-Busy.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/Busy ]</code></td>
<td>システムが忙しいことを示す。</td>
</tr>
<tr>
<td>
<img src="../../../assets/legacy/Mouse-Icon-Crosshair.png">
</img>
</td>
<td><code>rbxasset://SystemCursors/Cross ]</code></td>
<td>ピンポイントの選択エリアにカーソルを置く。</td>
</tr>
</tbody>
見る\*アセットおすすめの使用

※これらの外観は、推定です – 実際の外観は、オペレーティングシステムによって違います。

コードサンプル

Dragon Mouse Icon

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

Origin

読み取り専用
複製されていません
並列読み取り

オリジン Mouse プロパティは、マウスのオリジンがどこかを示す CFrame です。それは、Workspace.CurrentCamera の位置に配置され、マウスの 3D 位置に向けてオリジン化されています。

Mouse.UnitRay は、オリジンと同じ位置から開始し、同じ方向のスタッドで拡張されます。


local unitRay = mouse.UnitRay
local origin = mouse.Origin
-- unitRay.Direction = オリジン.p
-- unitRay.Direction ≈ origin.lookVector

3D 空間の Mouse の位置については、Mouse.Hit を参照してください。

コードサンプル

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

読み取り専用
複製されていません
並列読み取り

3D 空間のオブジェクトは、mouse です。

注:

  • Class.Mouse.TargetFilter が設定する定されている場合、ターゲットフィルターとその子孫は無視されます。
  • マウスが BasePart を指していない場合、例えば空を指している場合、ターゲットは nulo になります。
  • 3D 空間のマウスの位置を検索している開発者は Mouse.Hit を使用する必要があります。

コードサンプル

Color Randomizer Tool

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

並列読み取り

このプロパティは、Mouse.HitMouse.Target の計算中にマウスがオブジェクトを無視するように設定します。オブジェクトの子孫も無視されるので、このプロパティを使用し

このプロパティは、Instance または nil に設定できます。たとえば:


local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
mouse.TargetFilter = workspace.Model

注意、CharacterPlayers.LocalPlayer は、マウスで自動的に無視されます。

TargetSurface

読み取り専用
複製されていません
並列読み取り

このプロパティは、マウスがポイントしている Enum.NormalId 表面の BasePart を指します。このプロパティは、マウスの世界位置 ( Mouse.Hit ) と、マウスがポイントしている部分 ( 2>Class.Mouse.Target2> ) から得られます。

このプロパティは、マウスがパーツに向いていないとき、たとえばマウスが天に向いているときには意味がありません。現在、このプロパティは、これらの場合、「右」に設定されています。このプロパティを使用する前に、マウスのターゲットが nilではないことを確認してください。


local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
-- マウスがポイントしている部分が存在するかどうかチェックします
if mouse.Target then
print("The mouse is pointing to the " .. mouse.TargetSurface.Name .. " side of " .. mouse.Target.Name)
else
print("The mouse is not pointing at anything.")
end

コードサンプル

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

読み取り専用
複製されていません
並列読み取り

UnitRay プロパティは、Ray によって 3D 空間のマウスの位置に向かっている Mouse.Hit です。CFrame の Class.Camera.CFrame|CFrame から起源します。すべてのユニットレイは、2>Class.Workspace.CurrentCamera2>


local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
print(mouse.UnitRay.Direction.magnitude) -- Always 1

ViewSizeX

読み取り専用
複製されていません
並列読み取り

ViewSizeX プロパティは、ゲームウィンドウのサイズをピクセル単位で表示します。

コードサンプル

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

読み取り専用
複製されていません
並列読み取り

ViewSizeY プロパティは、ゲームウィンドウのサイズをピクセル単位で記述します。この長さには、トップバーの使用量が含まれます。

コードサンプル

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)
読み取り専用
複製されていません
並列読み取り

画面上のマウスの位置を変更したときには、ContextActionService:BindAction() を使用することをお勧めします。Enum.UserInputType.MouseMovement またはClass.User

X プロパティは、画面上のマウスの位置の横の部分を記述します。位置は、トップレフトコーナーの下のトップバーの下に測定されます。このプロパティは Mouse.YVector2 を組み合わせて、マウスの位置を表示するために使用できます:


local position = Vector2.new(mouse.X, mouse.Y)

このプロパティは Changed または GetPropertyChangedSignal からの信号を発信しません。代わりに Mouse.Move イベントを使用します。

コードサンプル

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)
読み取り専用
複製されていません
並列読み取り

画面上のマウスの位置を変更したときには、ContextActionService:BindAction() を使用することをお勧めします。Enum.UserInputType.MouseMovement またはClass.User

Y プロパティは、マウスの位置の屏の垂直部分を記述します。位置は、トップレフトコーナーの下のトップバーの下に測定されます。このプロパティは Mouse.XVector2 を組み合わせて、マウスの位置を表示する Datatype.Vector2 を製作するために使用できます。


local position = Vector2.new(mouse.X, mouse.Y)

このプロパティは Changed または GetPropertyChangedSignal からの信号を発信しません。代わりに Mouse.Move イベントを使用します。

コードサンプル

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)

方法

イベント

Button1Down

ボタン1Down は、プレイヤーが左マウスボタンを押すときにも発動します。

これは、Tool からもアクセスできます。たとえば、LocalScript に配置されると、左マウスボタンが押されるたびにコードの下のボタン1Down が印刷されます:


local Tool = script.Parent --これがツールオブジェクトであることを確認してください
Tool.Equipped:Connect(function(Mouse)
Mouse.Button1Down:Connect(function()
print("Button1Down")
end)
end)

開発者は、世界スペース内のマウスの位置を確認し、BasePart および Mouse.Hit プロパティを使用して、マウスが指している場所を特定することができます。

マウスオブジェクトを取得する方法については、Mouse ページを参照してください。

注:開発者は、新しいワークで Mouse オブジェクトではなく、 Class.Mouse オブジェクトを使用することをお勧めします。


コードサンプル

Color Randomizer Tool

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)

Button1Up

左マウスボタンがリリースされるときに発動します。

For information on how to obtain the Mouse object, please see the Mouse page.

開発者は、BasePart および Mouse.Hit プロパティを使用して、マウスの位置を世界空間で見つけ、マウスが指している Mouse.Target にアクセスできます。

注:開発者は、新しいワークで Mouse オブジェクトではなく、 Class.Mouse オブジェクトを使用することをお勧めします。


コードサンプル

Color Randomizer Tool (Button1Up)

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local target = nil
local function button1Down()
target = mouse.Target
end
local function button1Up()
if target == mouse.Target then
target.BrickColor = BrickColor.random()
end
end
mouse.Button1Down:Connect(button1Down)
mouse.Button1Up:Connect(button1Up)

Button2Down

ボタン2ダウンは、プレイヤーが右マウスボタンを押すときにも発動します。

これは、Tool からもアクセスできます。たとえば、LocalScript に配置されると、右マウスボタンが押されるたびにコードの下のボタン2Down が印刷されます:


local Tool = script.Parent --これがツールオブジェクトであることを確認してください
Tool.Equipped:Connect(function(Mouse)
Mouse.Button2Down:Connect(function()
print("Button2Down")
end)
end).

開発者は、世界スペース内のマウスの位置を確認し、BasePart および Mouse.Hit プロパティを使用して、マウスが指している場所を特定することができます。

マウスオブジェクトを取得する方法については、Mouse ページを参照してください。

注:開発者は、新しいワークで Mouse オブジェクトではなく、 Class.Mouse オブジェクトを使用することをお勧めします。


コードサンプル

Color Randomizer Tool

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.Button2Down:Connect(function()
if mouse.Target and mouse.Target.Parent then
mouse.Target.BrickColor = BrickColor.random()
end
end)
end)

Button2Up

右マウスボタンがリリースされると発射されます。


mouse.Button2Up:Connect(function()
print("button 2 up!")
end

For information on how to obtain the Mouse object, please see the Mouse page.

開発者は、BasePart および Mouse.Hit プロパティを使用して、マウスの位置を世界空間で見つけ、マウスが指している Mouse.Target にアクセスできます。

注:開発者は、新しいワークで Mouse オブジェクトではなく、 Class.Mouse オブジェクトを使用することをお勧めします。


コードサンプル

Color Randomizer Tool (Button2Up)

local Players = game:GetService("Players")
local mouse = Players.LocalPlayer:GetMouse()
local target = nil
mouse.Button2Down:Connect(function()
target = mouse.Target
end)
mouse.Button2Up:Connect(function()
if target == mouse.Target then
target.BrickColor = BrickColor.random()
end
end)

Idle

マウスが別のマウスイベントに渡されていない間に、心拍数があるたびに発生します。

注意、このイベントはマウスがまだ止まっているかを判断するのに使用してはなりません。心拍数が発生するたびに、それは Mouse.Move イベントの間で発生します。

For information on how to obtain the Mouse object, please see the Mouse page.

開発者は、BasePart および Mouse.Hit プロパティを使用して、マウスの位置を世界空間で見つけ、マウスが指している Mouse.Target にアクセスできます。

注:開発者は、新しいワークで Mouse オブジェクトではなく、 Class.Mouse オブジェクトを使用することをお勧めします。


コードサンプル

Mouse.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", 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

マウスが移動すると発射されます。

注、このイベントはマウスの位置が更新されると発動され、移動中に繰り返し発動されます。

For information on how to obtain the Mouse object, please see the Mouse page.

開発者は、BasePart および Mouse.Hit プロパティを使用して、マウスの位置を世界空間で見つけ、マウスが指している Mouse.Target にアクセスできます。


mouse.Move:Connect(function()
local position = mouse.Hit.p
local target = mouse.Target
print(target, position)
end)

注:開発者は、新しいワークで Mouse オブジェクトではなく、 Class.Mouse オブジェクトを使用することをお勧めします。


コードサンプル

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

[車輪の後ろ向き] イベントは、マウスホイールが後ろ向きにスクロールされると発動します。このイベントの使用可能な例は、1人称撃つかいシューター (FPS) でスコープを切り替えるか、プレイヤーのカメラをズームすることです。

これは、スクロール前のイベントと一緒に使用できます、 Mouse.WheelForward

For information on how to obtain the Mouse object, please see the Mouse page.

注:開発者は、新しいワークで Mouse オブジェクトではなく、 Class.Mouse オブジェクトを使用することをお勧めします。


コードサンプル

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

マウスホイールが前方にスクロールすると、[車輪フォワード]イベントが発動します。このイベントの可能な使用例は、1人称射撃ゲーム(FPS)でスコープを切り替えることや、プレイヤーのカメラをズームすることです。

これは、スクロールバックイベントと一緒に使用できます、 Mouse.WheelBackward

For information on how to obtain the Mouse object, please see the Mouse page.

注:開発者は、新しいワークで Mouse オブジェクトではなく、 Class.Mouse オブジェクトを使用することをお勧めします。


コードサンプル

Mouse.WheelForward

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