unity3d 鼠標事件


using UnityEngine;
using System.Collections;

public class mouse : MonoBehaviour {
    //private Vector3 lasePos;
    private Vector3 offSet;
    private Vector3 ScreenSpace;
    //1.
    void OnMouseDown()
    {
        ScreenSpace = Camera.main.WorldToScreenPoint(transform.position);
        offSet = transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, ScreenSpace.z));

        //lasePos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, ScreenSpace.z));
        print("down");
    }

    //2.
    void OnMouseUp()
    {
        print("up");
    }

    //3.
    void OnMouseDrag()
    {
        Vector3 curScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, ScreenSpace.z);
        Vector3 CurPosition = Camera.main.ScreenToWorldPoint(curScreenSpace) + offSet;
        transform.position = CurPosition;
        //Vector3 curPos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, ScreenSpace.z));
        //Vector3 gapPos = curPos - lasePos;
        //transform.position = transform.position + gapPos;
        //lasePos = curPos;

        print("drag");
    }

    //4.當鼠標移動到內部時
    void OnMouseEnter()
    {
        print("enter");
    }
    //5.當鼠標離開內部時
    void OnMouseExit()
    {
        print("exit");
    }
    //6.當鼠標持續停留在內部時
    void OnMouseOver()
    {
        print("over");
    }
    //7.鼠標停留在內部釋放時調用
    void OnMouseUpAsButton()
    {
        print("upAsButton");
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM