前提・実現したいこと
Input SystemのInputControlにおいて、マウスの位置とデルタ値を取得したいのですが、
どのように書けば取得できますか?
マウスのデルタ値の取得とは、Input Managerにおける以下のような取得の方法についてです。
C#
1float mouse_x_delta = Input.GetAxis("Mouse X"); 2float mouse_y_delta = Input.GetAxis("Mouse Y");
また、マウスの位置を知りたいのは、指定したオブジェクトの上でクリックしたかどうかを判定したいためです。
Input Systemにおいて、指定したオブジェクトの上でのクリック判定について他にも何かよい方法があればそちらも教えていただきたいです。
ご教示よろしくお願いいたします。
試したこと
こちらのサイトを参考にしました。
以下のコードで、Aキーの取得やマウスの左ボタンを取得するところまでは実装できました。
C#
1 void Update() 2 { 3 // キーボードのAキーを押した時 4 if(Keyboard.current.aKey.isPressed) { 5 Debug.Log("Aキーが押された"); 6 } 7 8 // マウスの左ボタンを押した時この1フレームだけの判定 9 if (Mouse.current.leftButton.wasPressedThisFrame) { 10 Debug.Log("マウスの左ボタンが押された"); 11 } 12 }
マウスの位置の取得においては、以下を試してみましたがエラーとなりました。
C#
1Debug.Log(Mouse.current.x); // エラー
また、以下はエラーとはならなかったのですが、
C#
1 if (Mouse.current.leftButton.wasPressedThisFrame) { 2 Debug.Log(Mouse.current.position.x); 3 Debug.Log(Mouse.current.position.y); 4 }
出力したログでは、具体的な位置の数値が出力されませんでした。Objectが出力されてしまうみたいです。
Axis:/Mouse/position/x UnityEngine.Debug:Log (object) Axis:/Mouse/position/y UnityEngine.Debug:Log (object)
補足情報(FW/ツールのバージョンなど)
Unity 2021.1.7f1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/07/12 06:24
2021/07/12 11:26
退会済みユーザー
2021/07/12 12:46