unity 单场景地图的3drpg游戏的鼠标控制脚本编写

在hierarchy创建一个空物体 挂上以下脚本,在物体组件处的序列框栏 把player拖拽,右侧下划栏选择navmesh。


截屏2021-04-30 下午4.57.00.png
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;


[System.Serializable]//将组建序列化(加了一个功能窗口)

public class eventvector3 : UnityEvent { };

public class mousecontrol : MonoBehaviour
{
    RaycastHit hitinfo;
    public eventvector3 onmouseclicked;

    void Update()
    {
        SetCursorTexture();
        mousecontrl();
    }

    void SetCursorTexture()
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if(Physics.Raycast(ray, out hitinfo))//得到一条射线
        {

            //实时切换鼠标贴图
        }
    }

    void mousecontrl()
    {
        if (Input.GetMouseButtonDown(0)&& hitinfo.collider != null)
        {
            if (hitinfo.collider.gameObject.CompareTag("Ground"))//判断是否为地面
                onmouseclicked?.Invoke(hitinfo.point);//判断鼠标是否为空?不为空的话获得点击处坐标,然后传给player
        }
    }


}

你可能感兴趣的:(unity 单场景地图的3drpg游戏的鼠标控制脚本编写)