找回密码
 立即注册
查看: 436|回复: 7

unity报错这个怎么解决?

[复制链接]
发表于 2020-11-27 20:19 | 显示全部楼层 |阅读模式
unity报错这个怎么解决?
发表于 2020-11-27 20:21 | 显示全部楼层
对代码背后的执行结果太信任了,没有判空,以至于下一句代码直接对null执行了,就导致了异常。
解决方法就是改变编程思维,“防御性编程”,不相信所有代码的执行结果都符合预期,对于加载、查找等代码充分考虑失败情况,
思维改过来就完事了
Update里也有类似的情况,以及那个Destroy,不觉得哪里不对劲吗
发表于 2020-11-27 20:26 | 显示全部楼层
Scene场景里 fireposition 你 拼错了。
发表于 2020-11-27 20:36 | 显示全部楼层
逆推查错,你这是丢失对象。就是那个fire对象没有。那为什么会没有呢,你是通过find查找名字的,,那为什么找不到,顺明要不是你把场景的对象在某个地方删除了,要不就是名字打错了,然后你一看,名字打错了
发表于 2020-11-27 20:41 | 显示全部楼层
本来想嘲讽你几句的,想了想算了。都是新手过来的。你的fireposition在场景中和代码中拼写不一致。
希望你下次遇到报空的,首先检查拼写错误
发表于 2020-11-27 20:46 | 显示全部楼层
小球产生位置的名字写错了……只要是报错展示没有找到实力对象,一般就是名字拼写错了,或者加载路径填错了。都是字符串的锅。
过来人提醒你一下~把小球产生位置做成你发射子弹物体的子物体一起打预制体,如果代码挂发射物体,就用transform.Find(),商业游戏里如果不是做Demo用GameObject.Find是要被抓去浸猪笼的~宁可拖~你要是拖了,你也就不用在这问这个问题了~
发表于 2020-11-27 20:54 | 显示全部楼层
最烦的就是新手问这种问题,你有这个问问题的时间,把unity里的名字直接复制到代码里很难吗?
发表于 2020-11-27 20:55 | 显示全部楼层
别这样,如果在业务哲学上不能为null,你就不能容错处理,反而是坚决不容错处理,该报错就得报错,否则你业务逻辑一旦复杂出了你就知道痛了。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 09:29 , Processed in 0.104584 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表