Mouse

マウスの位置に図形を移動します。

クリックの位置に移動

  1. マウスをクリックした位置に図形を移動します。
    プロジェクトの作成は C# Key に準じます。
    1. Unity を起動して2D選択で Project を生成します。
      メニューから[Save Scene]を選び Main の名前で保存します。
    2. メニューの Assets/Create/Sprites から Circle を選ぶと Assets に円が追加されます。
      Assets からヒエラルキービューに Circle をドラッグするとシーンビューに Circle が表示されます。
    3. [Projectタブ][Createタブ] から [C# Script] を選択して NewBehaviourScript.cs を作成します。
      NewBehaviourScript.cs を Circle にアタッチします。
  2. NewBehaviourScript.cs を修正して保存して下さい。
    (NewBehaviourScript.cs は画面左下の [Projectタブ][Createタブ] から [C# Script] で作成できます。)
    Camera.main.ScreenToWorldPoint() でマウスがクリックされた座標を取得します。
    transform.position = tapPoint; で図形を移動します。
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class NewBehaviourScript : MonoBehaviour {
    
        void Update () {
            if (Input.GetMouseButtonDown(0)) {
                Vector2 tapPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
                transform.position = tapPoint;
            }
        }
    }
    
  3. NewBehaviourScript.cs をモデルにアタッチ(ドラッグして関連付け)して下さい。
    再生ボタンをクリックして実行します。
    マウスをクリックした位置にモデルが移動します。

マウスに追随

  1. マウスをクリックしなくても、マウスカーソルの位置に図形が追随します。
    NewBehaviourScript.cs を修正して保存して下さい。
    Debug.Log() で取得した座標を確認しています。
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class NewBehaviourScript : MonoBehaviour {
    
        void Update () {
            Vector2 pnt = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            Debug.Log("x->" + pnt.x + "  y->" + pnt.y);
            transform.position = pnt;
        }
    }
    
  2. NewBehaviourScript.cs をモデルにドラッグして関連付けて下さい。
    再生ボタンをクリックして実行します。
    マウスカーソルを動かすと位置が追随します。

マウスの座標

マウスの座標は Input.mousePosition で取得します。
    Vector2 pnt = Input.mousePosition;
この座標は左下を 0,0 としたピクセル座標のようです。

Unity の座標は画面中央を 0,0 とした Float 型の座標が使われています。
Camera.main.ScreenToWorldPoint() がピクセル座標を Unity の座標に変換する関数のようです。
    Vector2 tapPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);

前田稔の超初心者のプログラム入門
超初心者のプログラム入門(Unity)