我有两个脚本。第一个脚本在开始时被调用,如下所示:Script1.cs
private Script2 script2;
void Start () {
script2= (Script2) GameObject.FindObjectOfType (typeof (Script2));
StartCoroutine("CallTrigger");
}
IEnumerator CallTrigger() {
while(script2.hasTriggered == true){
Debug.Log("Success");
script2.hasTriggered = false;
}
yield return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的脚本2如下:
public bool hasTriggered = false;
Run Code Online (Sandbox Code Playgroud)
由于我的第一个脚本首先被调用,所以我希望 CallTrigger() 函数等待,直到 script2 中的 bool 设置为 true。不幸的是, while() 不是我认为的正确方法,因为它不适合我。我知道最好的方法是使用 Update() 但我正在使用此脚本的多个实例,其中只有一些实例在开始时被调用。
那么如何让 CallTrigger 等待,直到 script2 中的 hasTriggered 设置为 true 为止?