我试图使用 C# 语言延迟我在 Unity 中的功能。通过使用Invoke
,我实现了在光标移动到某个区域时添加延迟。但是,现在我需要在光标从该特定区域移动时取消 Invoke
。这个想法是,当我不小心将光标移动到该区域时,我可以取消那里正在调用的任何函数。
这是我当前的代码。
void SceneCall(){
Application.LoadLevel (MainMenu);
}
void SceneCallIn(){
Invoke ("SceneCall", 3f);
}
if (_newGameButton.Contains (Event.current.mousePosition)) {
SceneCallIn();
}
我尝试像其他方式一样使用 CancelInvoke()
,之后当我将光标移动到 _newGameButton
时它甚至不想再调用。您如何取消调用然后再次激活它?谢谢你的回答~
编辑:正如@Programmer 在评论中所说,我真正想要做的是当我的鼠标位于某个位置时,计时器将开始计时。 3秒后
MainMenu
场景将被加载。当计时器正在计时并且指针从该特定位置移开时,我希望计时器停止并且我不想再加载 MainMenu
场景。
最佳答案
如果你真的想要“翻转”等等,这里有一个完整的教程:
https://stackoverflow.com/a/36046495/294884
真的,在你能做到之前,你必须完全成为所有这些方面的专家。
不过我必须再次告诉你:
15 年来,您永远不应出于任何原因在界面中使用翻转。
关于c# - 激活和停用调用功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37992724/