当鼠标悬停在按钮上时,更改光标图标

时间:2016-06-20 20:59:51

标签: c# unity3d unity5

我正在开发一款游戏,我需要在光标指向一个按钮时更改光标图标,并在不指向按钮时保持恢复正常状态。到目前为止,我已经做到了这一点,但没有什么好的,我出错的任何建议? 我在按钮上附加了这个脚本......

{{1}}

2 个答案:

答案 0 :(得分:2)

您需要使用UI系统的事件触发器来更改系统的图标或任何基于输入的交互(这很容易实现)。

首先将鼠标悬停并将鼠标退出功能更改为公共。 将事件系统添加到按钮上,希望光标在悬停时更改 添加组件 - >事件触发器 - >添加新活动类型 - >

  

此处有多个事件供您选择,但您只需要指针输入和指针退出

请选择指针输入& 指针退出 - >点击“ + ”标志 - >将光标脚本拖放到两个位置,然后从脚本中选择相应的功能并执行程序。

enter image description here

另一种方法是在游标脚本中实现事件系统函数并将其放在按钮对象上,但我认为第一种方法是干净且易于实现的。 Event Trigger Scripted Implementation 1

  

注意:您的旧鼠标将在3D世界中的对象上工作,该对象具有碰撞而不是UI,这就是为什么您的光标脚本不适用于按钮,因为按钮位于UI空间中。虽然您可以使用3D / 2D对撞机在UI中使用它们,但您必须使用光线计,这是一种有点长的实现方法。除非必要,我宁愿选择简单的

Event Trigger Info

希望这能解决你的问题。

答案 1 :(得分:-1)

您是否在Unity Doc上查看此链接:

https://docs.unity3d.com/ScriptReference/Cursor.SetCursor.html

您是否在需要时在检查器中配置纹理?

  

用于光标的纹理或null用于设置默认光标。   请注意,需要导入纹理并启用“读/写启用”   纹理导入器(或使用“Cursor”默认值),以便   用作游标。