u3d游戏开发中如何设置鼠标于不同位置点击设置不同鼠标图标

本文介绍了在Unity3D游戏中,如何根据鼠标点击的位置改变鼠标图标。通过使用Cursor.SetCursor()函数,结合OnMouseEnter()和OnMouseExit()事件,实现在鼠标进入和离开物体时切换不同的鼠标图标,提高玩家交互体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



在游戏开发中我们经常会遇到当点击npc或者其他非环境物体时 我们希望鼠标图标会有不一样的表现 


用到的api:

1.鼠标图标变换api:

Cursor.SetCursor(Texture2D texture2d,Vector2 hotspot,CurosrMode);

参数解释:

1.这个就是你要设置的鼠标图标的texture 注意格式哦 是texture2d格式的

2.hotspot是鼠标热点 也就是我们鼠标产生点击的时候生效的那个点 一般我们默认参数为 Vector2.ZERO(也就是左上角)

3.CurosorMode 也就是我们说的鼠标设置模式 一般我们如此设置 cursormode = CursorMode.AUTO(让他自我选择)



2.关于鼠标是否点击到某一物体上的api


因为这里我们只需要鼠标刚点进物体时候变换鼠标图标 而 离开后则设置为普通图标所以我们选择以下两个api:

void OnMouseEnter();

void OnMouseExit();

这个提到一个关于鼠标的api,这个api在点击到某一物体后每一帧都会调用

void OnMouseOver();


好了  以下是一个例子;

private Vector2 m_hotSpot = Vector2.zero;
    private CursorMode m_mode = CursorMode.Auto;
    //正常
   public void SetCursorNormal()
    {
        Cursor.SetCursor(m_cursor_Normal,m_hotSpot,m_mode);
    }




    //NPC
   public void SetCursorNPC()
    {
        Cursor.SetCursor(m_cursor_NPC, m_hotSpot, m_mode);
    }


 void OnMouseEnter()
    {
        CurseManager.m_Instance.SetCursorNPC();
    }


    void OnMouseExit()
    {
        CurseManager.m_Instance.SetCursorNormal();
    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值