c# - Mac 硬件光标重叠自定义光标统一 c#

标签 c# macos unity3d

我正在开发的游戏有一个自定义光标。由于光标大小,我必须使用 Cursor.SetCursor 并将 CursorMode 设置为 ForceSoftware(将 CursorMode 设置为 Auto 会挤压光标并且看起来一点也不好)。这在 Windows 上运行良好,但在 Mac 上,默认的 Mac 光标与软件光标重叠,您可以想象这看起来不正确。我到处寻找解决此问题的方法,但我没有任何运气。我试过只在 unity 的播放器设置中设置光标,但这会扭曲光标纹理。目前只有这行代码设置了光标

private void Start(){
    Cursor.SetCursor(cursor, new Vector2(-1, 1), CursorMode.ForceSoftware);
}

其中 cursor 是我在 unity 编辑器中指定的 Texture2D。我知道这可能是一个很容易解决的问题,但我真的不确定如何为 mac 系统修复它。

最佳答案

The default mac cursor overlaps the software cursor

问题出在你的Cursor.SetCursor代码,因为您强制光标成为软件光标,而不是它需要的硬件光标。

因为有些平台只支持一种硬件游标和在运行时创建的游标。 Cursor.SetCursor被视为软件光标,不会“替换”硬件光标。

示例:

Cursor.SetCursor(cursorTexture, Vector2.zero, CursorMode.Auto);

要使其与 Mac 或其他仅支持一个硬件光标的平台一起工作,最重要的设置是设置 CursorMode.Auto。所以它实际上“取代”了硬件光标。

关于c# - Mac 硬件光标重叠自定义光标统一 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64272878/

相关文章:

macos - 如何将CVPixelBufferRef从kCVPixelFormatType_32ARGB转换为kCVPixelFormatType_24RGB

ios - Xcode-dyld : Symbol not found: __vtcOnSessionStart

unity3d - Unity Fabric/Crashytics集成失败

c# - 数据类型猜谜游戏

c# - 通话模棱两可的错误-骰子游戏

c# - Windows 服务更改/删除注册表值

c# - 统计一个主题的所有订阅

c# - WCF 服务中的 HttpContext 为空?

c# - 为什么 OS X 在复制到 Samba 共享时不像 Windows 那样锁定文件?

xcode - macOS 10.14(测试版) 如何安装 Command_Line_Tools_macOS_10.14_for_Xcode_10_Beta