Skip to main content
 首页 » 资源教程 » Unity3D教程

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

2017年04月25日 20:43:4311960蛮牛网

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

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

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

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

下面用一个实例来展示:

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

如下图:

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

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

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

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

下面是源码:

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

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

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

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

如下图:

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

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

如下图:

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

评论列表暂无评论
发表评论