C# 如何在Unity 3D中使用按钮重置启动功能的循环?

C# 如何在Unity 3D中使用按钮重置启动功能的循环?,c#,unity3d,C#,Unity3d,是否可以使用unity中的按钮重置无效开始循环 void Start() { if (NoAnsweredQuestion == null || NoAnsweredQuestion.Count == 0) { NoAnsweredQuestion = question.ToList<Question>(); } StartCoroutine("CountDownTimer");

是否可以使用unity中的按钮重置无效开始循环

void Start()
{

        if (NoAnsweredQuestion == null || NoAnsweredQuestion.Count == 0)
        {
            NoAnsweredQuestion = question.ToList<Question>();
        }
        StartCoroutine("CountDownTimer");
        SetcurrentQuestion();

}

如果您的目标是在Start方法中多次执行代码,那么您的设计很糟糕,但是如果您确实需要在Start方法中执行代码,那么只需使用不同的脚本销毁脚本,然后重新加载即可

我的建议是,只在按下按钮时执行的方法中移动此代码


无论如何,就像“Lestat”说的那样,你的问题真的很奇怪,我也不能真正理解它。

你可以使用以下方法创建一个函数:

public void YourFunctionName (){
    if (NoAnsweredQuestion == null || NoAnsweredQuestion.Count == 0)
        NoAnsweredQuestion = question.ToList<Question>();

    StartCoroutine("CountDownTimer");
    SetcurrentQuestion();
}
如果您使用的是Canvas,我建议您这样做!,只需添加一个新按钮:

然后使用“+”符号将函数添加到按钮中,拖动游戏对象并将脚本附加到该对象上,然后选择类,然后函数必须是公共的才能工作


我想这会解决你的问题。

我无法理解你的问题,为什么不创建一个功能完全相同的公共函数,并在UI按钮上调用它?