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

刚刚碰到一个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#

猜你喜欢

转载自blog.csdn.net/qq_38186269/article/details/81430289