当前位置: 代码迷 >> 综合 >> Coroutine 'Load' couldn't be started because the the game object 'targetmodel' is inactive!
  详细解决方案

Coroutine 'Load' couldn't be started because the the game object 'targetmodel' is inactive!

热度:23   发布时间:2023-12-12 17:52:11.0

刚刚碰到一个BUG,报错如下:

Coroutine 'Load' couldn't be started because the the game object 'targetmodel' is inactive!

大体意思是协程Load函数没有执行完毕,原因是物体targetmodel被关闭,具体一点来说就是协程函数还没有执行完毕,脚本就被迫停止了,虽然出了报错但是对整个的运行没有任何影响,但看见BUG还是想解决了一下。

查阅了资料,这方面的解释很少,这个报错可以算是很极限的情况了,我出现这个BUG的原因是我注册了一个Button的点击事件,在这个事件调用的函数里面执行了 StartCoroutine函数开启协程,然后就出现了这个报错,具体原因不是很清楚,感觉上是因为button的点击是一瞬间,只是执行一次,执行速度过快,导致了协程的调用出现问题,也不清楚为什么报了错但是输出和执行都是正确的,所以尝试的去解决了一下,将协程的开启放到了Update里面,设置一个bool值,之后在Button事件里面将bool值赋值为true,执行完协程后再为false,运行之后搞定了,Bug解决了,但是原因到底是不是我想的这样还是不明确,如果你们也是碰到了这个问题,希望这个博文可以帮助到你们,同时,搞清楚原因的小伙伴们麻烦留言一下,互相进步,Over。C#

  相关解决方案