eastward 发表于 2020-11-27 20:19

unity报错这个怎么解决?

unity报错这个怎么解决?

游卧云端 发表于 2020-11-27 20:21

对代码背后的执行结果太信任了,没有判空,以至于下一句代码直接对null执行了,就导致了异常。
解决方法就是改变编程思维,“防御性编程”,不相信所有代码的执行结果都符合预期,对于加载、查找等代码充分考虑失败情况,
思维改过来就完事了
Update里也有类似的情况,以及那个Destroy,不觉得哪里不对劲吗

a461606466 发表于 2020-11-27 20:26

Scene场景里 fireposition 你 拼错了。

albertleon 发表于 2020-11-27 20:36

逆推查错,你这是丢失对象。就是那个fire对象没有。那为什么会没有呢,你是通过find查找名字的,,那为什么找不到,顺明要不是你把场景的对象在某个地方删除了,要不就是名字打错了,然后你一看,名字打错了

无可救药 发表于 2020-11-27 20:41

本来想嘲讽你几句的,想了想算了。都是新手过来的。你的fireposition在场景中和代码中拼写不一致。
希望你下次遇到报空的,首先检查拼写错误

nemuruibai 发表于 2020-11-27 20:46

小球产生位置的名字写错了……只要是报错展示没有找到实力对象,一般就是名字拼写错了,或者加载路径填错了。都是字符串的锅。
过来人提醒你一下~把小球产生位置做成你发射子弹物体的子物体一起打预制体,如果代码挂发射物体,就用transform.Find(),商业游戏里如果不是做Demo用GameObject.Find是要被抓去浸猪笼的~宁可拖~你要是拖了,你也就不用在这问这个问题了~

SAL 发表于 2020-11-27 20:54

最烦的就是新手问这种问题,你有这个问问题的时间,把unity里的名字直接复制到代码里很难吗?

Stanley 发表于 2020-11-27 20:55

别这样,如果在业务哲学上不能为null,你就不能容错处理,反而是坚决不容错处理,该报错就得报错,否则你业务逻辑一旦复杂出了你就知道痛了。
页: [1]
查看完整版本: unity报错这个怎么解决?