拖拽以及常用的鼠标事件

// 调用Unity的鼠标拖拽函数
IEnumerator OnMouseDrag()
{
// 获取目标对象当前的世界坐标系位置,并将其转换为屏幕坐标系的点
Vector3 Pos = Camera.main.WorldToScreenPoint(transform.position);
// 设置鼠标的屏幕坐标向量,用上面获得的Pos的z轴数据作为鼠标的z轴数据,使鼠标坐标
// 与目标对象坐标处于同一层面上
Vector3 mousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Pos.z);
// 用上面获取到的鼠标坐标转换为世界坐标系的点,并用其设置目标对象的当前位置
transform.position = Camera.main.ScreenToWorldPoint(mousePos);
// 等待下一帧对数据进行更新,实现目标对象的位移
yield return new WaitForFixedUpdate();
}

 

 

 

using UnityEngine;
using System.Collections;

public class test : MonoBehaviour {

	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
        
	}

    //void OnMouseEnter()
    //{
    //    print("当鼠标进入到GUIElement(GUI元素)或Collider(碰撞体)中时调用OnMouseEnter。");
    //}

    //void OnMouseOver()
    //{
    //    print("当鼠标悬浮在GUIElement(GUI元素)或Collider(碰撞体)上时调用 OnMouseOver .");
    //}

    //void OnMouseExit()
    //{
    //    print("当鼠标移出GUIElement(GUI元素)或Collider(碰撞体)上时调用OnMouseExit。");
    //}

    //void OnMouseDown()
    //{
    //    print("当鼠标在GUIElement(GUI元素)或Collider(碰撞体)上点击时调用OnMouseDown。");
    //}

    //void OnMouseUp()
    //{
    //    print("当用户释放鼠标按钮时调用OnMouseUp。");
    //}

    //void OnMouseUpAsButton()
    //{
    //    print("OnMouseUpAsButton只有当鼠标在同一个GUIElement或Collider按下,在释放时调用。");
    //}

    void OnMouseDrag()
    {
        Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);   // // 获取目标对象当前的世界坐标系位置,并将其转换为屏幕坐标系的点
        // 设置鼠标的屏幕坐标向量,用上面获得的Pos的z轴数据作为鼠标的z轴数据,使鼠标坐标 // 与目标对象坐标处于同一层面上
        Vector3 mousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, pos.z);
        // 用上面获取到的鼠标坐标转换为世界坐标系的点,并用其设置目标对象的当前位置
        transform.position = Camera.main.ScreenToWorldPoint(mousePos);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值