unity 鼠标事件

Input.GetMouseButtonDown(0) 点击屏幕
Input.mousePosition 鼠标的坐标
Input.GetKeyDown(KeyCode.Space) 点击空格

1.2D游戏中鼠标触发事件

using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEditor;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEditor.UI;

//必须引MonoBehaviour, IPointerClickHandler, IBeginDragHandler
public class Joystick : MonoBehaviour, IPointerClickHandler, IBeginDragHandler, IEndDragHandler, IDragHandler
{
    private RectTransform rectTransform;//获取当前ui的rectTransform

    private RectTransform rf;

    void Start()
    {
        //获取到摇杆物体
        GameObject go = this.transform.GetChild(0).gameObject.transform.GetChild(0).gameObject.transform.GetChild(0).gameObject;
        rectTransform = go.GetComponent();
        Debug.Log(this.transform.name);
        Debug.Log(rectTransform.name);
    }


    public void OnBeginDrag(PointerEventData eventData)
    {
        Debug.Log("开始拖拽OnBeginDrag");
    }

    public void OnDrag(PointerEventData eventData)
    {
        Debug.Log("OnDrag");

        Vector3 ui;
        //物体的移动【移动的transform,移动的位置,移动的角度,移动后输出的位置】
        RectTransformUtility.ScreenPointToWorldPointInRectangle(rectTransform, eventData.position, eventData.enterEventCamera, out ui);
        rectTransform.position = ui;
    }


    public void OnEndDrag(PointerEventData eventData)
    {
        Debug.Log("结束拖拽OnEndDrag");
    }


    public void OnPointerClick(PointerEventData eventData)
    {
        Debug.Log("检测到点击了OnPointerClick");
        Debug.Log();

       
    }

}

2.3D中鼠标方法

事件 描述
MouseDownEvent 当用户按下鼠标键时发送。
MouseUpEvent 当用户释放鼠标键时发送。
MouseMoveEvent 当用户移动鼠标时发送。
WheelEvent 当用户激活鼠标滚轮时发送。
MouseEnterWindowEvent 当鼠标进入某个窗口时发送。
MouseLeaveWindowEvent 当鼠标离开某个窗口时发送。
MouseEnterEvent 当鼠标进入某一元素或其后代之一时发送。
MouseLeaveEvent 当鼠标离开某一元素或其后代之一时发送。
MouseOverEvent 当鼠标进入某一元素时发送。
MouseOutEvent 当鼠标离开某一元素时发送。

你可能感兴趣的:(unity,游戏引擎)