您好我正在尝试使用Unity的光标API在从播放器的广告资源中拖动项目时更改光标。光标确实发生了变化,但由于抗锯齿(推测),图像模糊。图像是一个简单的16x16精灵,在游戏世界中显示时没有消除锯齿,但是当显示为光标时。有没有办法关闭光标的抗锯齿?
此外,当我在编辑器之外运行游戏时,光标图像似乎根本不起作用 - 它只显示一些小破折号或一些静态。
我设置光标的方式如下:
texture = itemImg.sprite.texture;
Cursor.SetCursor(texture, Vector2.zero, CursorMode.Auto);
其中itemImg
是处理拖动的UI图像(库存槽)
感谢任何帮助或建议。如果它会出现这些问题,我应该抛弃Cursor API吗?谢谢。
答案 0 :(得分:1)
使用Cursor API时遇到了问题。虽然在调用之前还有一些事情需要尝试,但光标图像看起来根本不起作用" 一个错误。
请注意您的代码:
texture = itemImg.sprite.texture;
表示您使用的Texture
未设置为光标作为纹理类型。定义要使用的Texture
,然后按照上述步骤进行正确设置为纹理。不要使用UI Image作为鼠标光标的来源。
public Texture2D texture;
Cursor.SetCursor(texture, Vector2.zero, CursorMode.Auto);
如果这些问题无法解决您的问题,请使用CursorMode.ForceSoftware
代替CursorMode.Auto
。
最后,假设您仍然遇到Cursor API问题,只需放弃它,只需通过将SpriteRenderer位置设置为鼠标位置来制作假光标。
yourSprite.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
现在,您可以控制鼠标指针的质量。
答案 1 :(得分:1)
在Unity 2018.3上完美运行
答案 2 :(得分:0)
我在Unity 2019.3中通过以下方式解决了此问题: