Unity GameObject判空问题


引用(https://jacx.net/2015/11/20/dont-use-equals-null-on-unity-objects.html)

 

 这其实就是问题出现的主要原因,Unity是一个用C#包装起来的C++引擎,他提供的Destory方法只是把C++部分的非托管资源释放了,在C#中的托管资源要等GC自己去释放。

 因为Unity重载了UnityEngine.Object的==方法,所以在C#中使用 if ( obj == null)是没问题的。但是通过LUA调用时,C#对象可能还或者,但他的灵魂已经消失了。

记住一点,不要直接在lua中使用 if obj == nil 来判断空值就可以了。

更具体的信息,可以参考上面发的文章,介绍的非常清晰。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM