码迷,mamicode.com
首页 > 编程语言 > 详细

unity3d 鼠标事件

时间:2016-07-19 09:28:46      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

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");
    }
}

 

unity3d 鼠标事件

标签:

原文地址:http://www.cnblogs.com/wrbxdj/p/5683221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!