默认情况下将Texture2D设置为“ None”

问题描述 投票:0回答:1
public void OnPointerEnter(PointerEventData data)
{
     Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);
}

我在游戏的每个用户界面上都设置了此方法(和退出方法)。但是,当我将其设置为null时,它将转到DEFAULT光标。现在使用Unity,我已经进入项目设置并为用户设置一个自定义光标。但是,当用户继续使用UI时,我希望光标Texture2D为“ None”,并将其设置为null只会将其设置为我开始使用的自定义光标。

我知道我可以执行“ void Start()”,只需将Cursor设置为自定义光标,并将默认光标设置为“ None”,但是由于此脚本正在游戏中的每个UI上运行,因此将我的默认设置设置为自定义设置更合理,并在某些情况下使用c#将其设置为“无”。

c# unity3d
1个回答
0
投票

在希望使用默认系统Cursor的OnPointerEnter方法上,您需要在当前的SetCursor调用之前添加PlayerSettings.defaultCursor分配。我还没有测试过,但是以下应该可以工作。

PlayerSettings.defaultCursor = null;
Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);

然后,在OnPointerExit方法上将PlayerSettings.defaultCursor设置为自定义默认光标Texture2D。

© www.soinside.com 2019 - 2024. All rights reserved.