zoukankan      html  css  js  c++  java
  • 拖拽以及常用的鼠标事件

    // 调用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);
        }
    
    }
  • 相关阅读:
    (转载)SAPI 包含sphelper.h编译错误解决方案
    C++11标准的智能指针、野指针、内存泄露的理解(日后还会补充,先浅谈自己的理解)
    504. Base 7(LeetCode)
    242. Valid Anagram(LeetCode)
    169. Majority Element(LeetCode)
    100. Same Tree(LeetCode)
    171. Excel Sheet Column Number(LeetCode)
    168. Excel Sheet Column Title(LeetCode)
    122.Best Time to Buy and Sell Stock II(LeetCode)
    404. Sum of Left Leaves(LeetCode)
  • 原文地址:https://www.cnblogs.com/android-blogs/p/6344054.html
Copyright © 2011-2022 走看看