【问题标题】:Restart a script on button press C# + Unity按下按钮重新启动脚本 C# + Unity
【发布时间】:2020-06-04 14:09:44
【问题描述】:

我有一个名为 Glow 的游戏对象,我在其上附加了一个脚本螺旋时钟。

我希望此脚本在按下按钮时再次重新启动

但是,什么都没有发生。我使用 Debug.Log() 检查并按下按钮。

我在代码中使用了这一行,

GameObject.Find("glow").GetComponent<spiralclock>().enabled = false;
GameObject.Find("glow").GetComponent<spiralclock>().enabled = true;

带有 OnButtonPressed() 和 OnButtonReleased() 函数。

这样的代码

SceneManager.LoadScene(SceneManager.GetActiveScene().name); // loads current scene

也无法从头开始重新启动场景。

【问题讨论】:

    标签: c# unity3d vuforia


    【解决方案1】:

    如果根据按钮的定义,您使用的是 Unity 的 UI 按钮,您可以制作如下方法:

    public void ButtonNameClick()
    {
      // your restart logic goes here
    }
    

    然后您可以通过编辑器、通过 OnClick() 或通过代码订阅此方法(又名 - 使该方法在按下按钮时执行)。

    【讨论】:

    • 不,我正在使用虚拟按钮,我已经为它编写了一个脚本。并使用 public void OnButtonPressed( VirtualButtonBehaviour vb){GameObject.Find("glow").GetComponent().enabled = false; }
    • 好吧,如果您使用的是虚拟按钮,我认为您可以通过代码订阅它,例如 yourVirtualButtonInstance.Click += methodToCallOnClick;
    • 我可以把它放在哪里?对不起,我是 C# 新手
    • 在 hastebin.com 上的某个地方发布您的完整代码,我会尽力提供帮助 :)
    • 对不起,我看不懂,帮不上忙。
    猜你喜欢
    • 2019-01-25
    • 2021-07-21
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多