gpt4 book ai didi

c# - 通过协程调用方法给出 NullReferenceException

转载 作者:太空宇宙 更新时间:2023-11-03 23:31:51 25 4
gpt4 key购买 nike

我有一些简单的方法可以在我的场景中打开和关闭游戏对象。直接调用则如下工作

 public void turnOn(){
GameObject foo = GameObject.FindWithTag("foo_tag");
Debug.Log("1 ASSERT YES foo = "+foo);
foo.SetActive(true);
}

public void turnOff(){
GameObject foo = GameObject.FindWithTag("foo_tag");
Debug.Log("2 ASSERT YES foo = "+foo);
foo.SetActive(false);
}

出于测试目的,我想让我的游戏对象在一定时间间隔后再次激活,所以我创建了一个这样的协程。但是当使用这个协程时,turnOff 和 turnOn 中的 foo 引用都是 Null,为什么?

 void Start () {

turnOff();
StartCoroutine(ExecuteAfterTime(2));
}



IEnumerator ExecuteAfterTime(float time)
{
yield return new WaitForSeconds(time);

// Code to execute after the delay
turnOn();
}

最佳答案

FindWithTag 仅返回我上次检查的事件游戏对象。

http://docs.unity3d.com/ScriptReference/GameObject.FindWithTag.html

关于c# - 通过协程调用方法给出 NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31896573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com