Mouseクラスの使い方
この記事では、UnityでInputSystemのMouseクラスを使用する方法について説明します。
Mouseクラス
UnityEngine.InputSystem.Mouse
クラスは、マウスの状態を管理するクラスです。このクラスを使用することで、マウスの入力を取得できます。
使い方
インスタンスを取得する
Mouse
クラスのインスタンスは、current
静的プロパティで取得できます。
if ( Mouse.current != null )
{
// ここでcurrentを使用
}
ボタンの状態
各ボタンの状態を取得するには、「〇〇Button
という名前のプロパティ」を使用します。
Mouse.current.leftButton
Mouse.current.middleButton
Mouse.current.rightButton
押しているか判別する
ボタンを押しているか判別する値は、isPressed
プロパティで取得できます。
if ( Mouse.current.leftButton.isPressed )
{
Debug.Log( "左ボタンを押しています。" );
}
押したか判別する
ボタンを押したか判別する値は、wasPressedThisFrame
プロパティで取得できます。
if ( Mouse.current.leftButton.wasPressedThisFrame )
{
Debug.Log( "左ボタンを押しました。" );
}
離したか判別する
ボタンを離したか判別する値は、wasReleasedThisFrame
プロパティで取得できます。
if ( Mouse.current.leftButton.wasReleasedThisFrame )
{
Debug.Log( "左ボタンを離しました。" );
}
連続クリック数を取得する
( 左ボタンの )連続クリック数は、clickCount
プロパティのReadValue
関数で取得できます。
if ( Mouse.current.leftButton.wasPressedThisFrame )
{
Debug.Log( "連続クリック数: " + Mouse.current.clickCount.ReadValue() );
}
カーソルの座標を取得する
カーソルの座標は、position
プロパティのReadValue
関数で取得できます。この座標の原点は、画面の左下になります。
if ( Mouse.current.leftButton.wasPressedThisFrame )
{
Debug.Log( "カーソルの座標: " + Mouse.current.position.ReadValue() );
}
ホイールのスクロール量を取得する
ホイールをスクロールした( 回転した )量は、scroll
プロパティのReadValue
関数で取得できます。
var scroll_amount = Mouse.current.scroll.ReadValue();
if ( scroll_amount.magnitude > 0 )
{
Debug.Log( "スクロール量: " + scroll_amount );
}