Unity2D:每按一次按钮就开始一个新的协同程序

有没有办法在按下按钮时如何启动新的协同程序? 我做了一个脚本来检查一个按钮被按下了多少次,但是我不知道如何实现一个调用,这会增加Corutine(buttonCount ++)中的按键次数。 可能吗?

public int buttonCount = 0;

public void Check() {
    buttonCount ++;
}

这就是我使用StartCoroutine的原因:

public GameObject LeftUp, RightUp, LeftDown, RightDown, ForceSphere;
public int buttonCount = 0;

public void Check() {
    buttonCount ++;
}

public void ActivateForceField ()
{
        StartCoroutine (CreateForceField ()); 
        forceActive = true; 
}

IEnumerator CreateForceField ()
{
    LeftUp.SetActive (true);
    RightUp.SetActive (true);
    yield return new WaitForSeconds (1.0f);
    LeftDown.SetActive (true);
    RightDown.SetActive (true);
    yield return new WaitForSeconds (1.0f);
    LeftUp.SetActive (false);
    RightUp.SetActive (false);
    yield return new WaitForSeconds (1.0f);
    LeftDown.SetActive (false);
    RightDown.SetActive (false);
    //yield return new WaitForSeconds (1.0f);
    ForceSphere.SetActive (true);
    yield return new WaitForSeconds (10.0f);
    ForceSphere.SetActive (false);

    forceActive = false;
}

我试过把Check(); 在我的IEnumerator开始,但它没有工作。 谢谢 :)


例如,如果包含ActivateForceField的脚本在那时被调用TheScript

创建一个UI按钮,然后在你的检查员中选择你的按钮

然后查看检查员中的按钮脚本

- 寻找“点击”

-然后选择gameobject包含TheScript

然后在下一个选择框中选择TheScript - > ActivateForceField()

这种方式每次你的按钮被点击时,这个函数将被调用

链接地址: http://www.djcxy.com/p/53175.html

上一篇: Unity2D: Start a new Coroutine whenever a button has been pressed

下一篇: Why does the coroutine changes the value of a variable?