c# - 激活和停用调用功能

标签 c# unity3d

我试图使用 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/

相关文章:

c# - 这是一个错误吗? MissingMethodException 以 0 作为参数访问私有(private)静态方法

unity3d - 统一: Make a tile take up more grid cells

c# - 如何在自定义 Unity3D Inspector 中将文本文件设为 "ping"?

c# - 使用计时器逐行读取文本文件

c# - C#Unity脚本不起作用

c# - 如何使用 LookRotation 根据手的位置旋转对象?

ios - 在 Swift 项目中集成 Unity

c# - 在页面 View 上设置 session 变量

c# - 执行Response.Redirect时如何修改Request.Headers ["Referer"]?

c# - AcceptButton不会关闭表单