最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Unity实用功能之控制鼠标(隐藏,锁定及更改样式)

    正文概述 掘金(Mr_Wen)   2021-08-12   2047

    这是我参与8月更文挑战的第12天,活动详情查看:8月更文挑战

    概述

    平时在开发过程中,为了程序美化,经常会需要隐藏鼠标,当需要点击的时候在显示出来,比如在游戏中的时候隐藏鼠标,打开背包后显示鼠标。或者是在程序中更改一个鼠标样式,是玩家能够更好的融入到游戏中。本片文章主要介绍一下如何隐藏与显示鼠标和在程序中更换鼠标样式。

    鼠标显示与隐藏

    在Unity中,想要控制鼠标,我们需要使用到Cursor。我们直接通过设置Cursor.visible属性,即可达到鼠标的显示与隐藏
    状态:true显示,false隐藏

    //隐藏鼠标
    Cursor.visible = false;
    

    鼠标锁定

    通常隐藏鼠标之后,有的时候不知道鼠标在哪里,这就导致当需要显示鼠标的时候我们还要满屏幕寻找显示的鼠标。这时候就需要Cursor.lockState属性的配合,Cursor.lockState属性的作用是锁住鼠标,使其一直保持在屏幕中心。防止即使隐藏了鼠标,依然还会把鼠标移到游戏外面,和显示鼠标时还需要到处寻找鼠标的问题。让我们来看一下Cursor.lockState的属性都有哪些

    1. 鼠标锁定并消失
    Cursor.lockState = CursorLockMode.Locked;
    
    1. 鼠标解锁并显示
    Cursor.lockState = CursorLockMode.None;
    
    1. 鼠标限定在Game视图中
    Cursor.lockState = CursorLockMode.Confined;
    

    最终实现结果如下:

    Unity实用功能之控制鼠标(隐藏,锁定及更改样式) Unity实用功能之控制鼠标(隐藏,锁定及更改样式)

    更改鼠标样式

    在Unity中修改鼠标样式方法有多中,一种是在Unity中设置,还有一种是通过代码修改。前提是都需要准备一张鼠标样式图片

    方法一、通过设置修改鼠标样式

    此方法操作非常简单,而且修改完立刻生效,在Unity的Game视图中不论是否运行状态,都能够直接显示更改后的鼠标样式。
    首先导入需要使用的鼠标图片,每张图片导入进来后都会默认有一个Texture Type,一般为Default格式或Sprite(2D and UI) 格式,第一步需要做的是将图片格式修改为Cursor,切记修改完后要点击Apply. Unity实用功能之控制鼠标(隐藏,锁定及更改样式) 如果不修改图片格式,修改完鼠标样式就有可能出现如下情况,显示不出来鼠标图片 Unity实用功能之控制鼠标(隐藏,锁定及更改样式) 修改完鼠标鼠标图片格式,接下来就是修改鼠标样式了,在Edit->Project Setting->Player->Default Cursor中设置,将更改好的图片拖拽赋值到Default Cursor中即可,具体位置如图

    Unity实用功能之控制鼠标(隐藏,锁定及更改样式) 效果如下,此方法只会在Game视图发生变化,其他地方还是原来的样式。而且只需要更改这一个地方,很方便!

    Unity实用功能之控制鼠标(隐藏,锁定及更改样式)

    方法二、通过代码修改鼠标样式

    上面的方法修改起来非常简单,但是实用性不太好,上述方法修改完后只能一直保持一种状态,无法实现多种状态切换,多以,接下来的方法正好能够完美的解决。 其核心代码只有一句话,就是调用Cursor.SetCursor,如下图

    Unity实用功能之控制鼠标(隐藏,锁定及更改样式) 让我们来看一下此句代码的具体参数。

    public static void SetCursor(Texture2D texture, Vector2 hotspot, CursorMode cursorMode);
    
    1. Texture2D texture:要替换的光标图片
    2. Vector2 hotspot: 响应区域 (vector2.zero)
    3. CursorMode cursorMode:渲染形式
      渲染形式共有两种:
      1. Auto:平台自适应显示
        
      2. ForceSoftware:强制使用软件游标
        

    只要在想要修改鼠标样式的时候调用这一行代码,将里面的第一个参数赋值成我们想要的图片样式就好了!可以是鼠标进入一个状态,鼠标点击一个状态等等,就等着大家自由发挥了。。。

    写在最后

    所有分享的内容均为作者在日常开发过程中使用过的各种小功能点,分享出来也变相的回顾一下,如有写的不好的地方还请多多指教。Demo源码会在之后整理好之后分享给大家。欢迎大家相互学习进步。


    下载网 » Unity实用功能之控制鼠标(隐藏,锁定及更改样式)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元