Unity新手教程:如何让鼠标的图标改变?

  • A+
所属分类:资源教程
摘要

有时候在开发中一些交互需要改变鼠标的图标,那么在unity里如何实现呢?先看效果图,如下:

有时候在开发中一些交互需要改变鼠标的图标,那么在Unity里如何实现呢?先看效果图,如下:

Unity新手教程:如何让鼠标的图标改变?

这个实现方法非常简单,要用到Unity的API里的一个函数cursor。cusor里有一个可以设置鼠标的方法:Cursor.SetCursor(Texture2D,CursorMode)。

这里的Texture2D就是你要改成的鼠标图片,但对Texture2D在Unity里的渲染模式是有要求的(必须是cursor模式);CursorMode有两种模式(下面我会分别演示)。

下面用一个实例来展示:

1)在Unity里新建一个Scene,然后在里面新建一个cube,把要的素材(一张鼠标要改变成的图片)放进project里。

如下图:

Unity新手教程:如何让鼠标的图标改变?

2)将导入的素材图片(我图片名字叫hand)的Texture2D的type改成cursor。(必须修改成这个type不然运行时图片无法显示)

Unity新手教程:如何让鼠标的图标改变?

3)写一个改变鼠标的代码,将代码绑定到cube上。

下面是源码:

Unity新手教程:如何让鼠标的图标改变?

在上面的代码里我已经将注释写的很清楚了。

下面简单介绍一下:上面的方法里实现了鼠标左键点击就会把鼠标的图设置成手的图片,右键点击就会设置成原来的指针模式,或者将鼠标移动到cube这个物体上也会变成手的图标。

代码里有一句cursorMode = CursorMode.ForceSoftware;被我注释了,这个模式是当你鼠标改变了以后,鼠标移到Unity窗口外(例如你打开一个别的软件)你Unity里的鼠标依然不会消失而且是手的图标。

如下图:

Unity新手教程:如何让鼠标的图标改变?

如果是cursorMode = CursorMode.Auto这种模式,鼠标只有一个,当你移到Unity窗口外,Unity里就没有鼠标了。

如下图:

Unity新手教程:如何让鼠标的图标改变?

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: