【发布时间】:2019-12-16 06:46:29
【问题描述】:
我正在为 Windows PC 构建游戏,当用户在可点击的 UI 元素上时,我需要更改光标图标。我找到了这个命令Cursor.SetCursor(texture2d, vector2),但它有一些滞后。
当鼠标悬停在 UI 元素上时,它会发生变化,但会有一些延迟,这真的很烦人(这就是其他用户所说的)。
经过一番阅读,我了解到 Unity 基本上只是在软件级别更改了光标图标。即隐藏光标并显示我的图像,并使其跟随光标位置。
我的问题是:我怎样才能在硬件级别更改图标,同样,仅在 Windows 版本中。
当我搜索“在 C# 中更改鼠标光标”时,我找到了 windows.forms 选项(不能统一使用)和一个 c++ 代码,但它并不完整(仅方法的名称),我不知道如何在 C# 中运行它……
【问题讨论】:
-
@GehanFernando 正如我在问题中所写,Unity 无法识别 Windows.Forms 命名空间,因此我无法使用它
-
SetCursor 工作正常,甚至还有一个可选参数来强制硬件
-
@Jichael 如果它工作正常,我不会问这个问题。我的游戏的用户说它有太多延迟
-
那么它可能是你的实现可能是错误的。而且我还告诉你它有强制硬件模式,你试过了吗?
标签: c# c++ unity3d mouse-cursor