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?