繁体   English   中英

Mac硬件cursor重叠自定义cursor统一c#

[英]Mac hardware cursor overlapping custom cursor unity c#

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

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

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

默认mac cursor 重叠软件cursor

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

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

例子:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM