目录
- 1. 物体没有激活
- 2. 物体的父物体、祖父物体……没有激活
- 3. 没有挂载脚本
- 4. 追祖溯源
- 5. 资源加载失败
- 6. 变量未赋初值
1. 物体没有激活
①运行前物体没有被激活,导致运行时找不到该物体;
②运行时物体被脚本控制取消了激活,导致用到该物体时找不到。
2. 物体的父物体、祖父物体……没有激活
Unity中,如果一个物体的父物体没有激活,那么其所有子物体是找不到的。
类似的,这种情况也会导致运行时找不到物体。
尤其是使用GameObject.Find()函数全局查找GameObject的时候需要尤其注意。
3. 没有挂载脚本
继承于MonoBehaviour的脚本没有挂载到Hierarchy面板上的任何GameObject。
这种情况下脚本中的Awake(),Start()和Update()脚本就都不会被执行,因此自然找不到需要的物体。
4. 追祖溯源
对于没有继承于MonoBehaviour的脚本,需要查看调用该脚本的源头脚本有没有运行(即其被挂载到了Hierarchy面板上的某个物体,且其脚本组件被激活)
5. 资源加载失败
脚本中使用到了Resources.Load()函数,然而其所指向的路径中没有对应的东西。
查看Assets文件夹下的Resources文件夹下是都有对应加载的资源。
6. 变量未赋初值
只定义了变量,但没有为其赋初值。
public Vector3 vec = new Vector3(0,0,0); public string[] strs = new string[5]; int index = 0; float ff = 0.0f;
只定义了脚本实例,但没有实例化它。
如定义了继承于Monobehavior地脚本的一个实例Demo,需要在其Awake时将其实例化,才能在其他地方引用其方法时不报空。
public class Demo : MonoBehaviour { public static Demo Instance; private void Awake() { Instance = this; }
猜你喜欢
- 8天前梦见大蟒蛇的周公解梦解析
- 8天前梦见吃面条的寓意解析
- 8天前女人梦见试穿新鞋的心理学解析
- 5天前女性梦境解析:细蛇的象征意义
- 5天前梦中垂钓 一竿即中的奇妙预兆
- 5天前梦见自己拉大便的寓意解析
- 5天前梦见大量水的深层含义解析
- 5天前梦中初尝飞翔的生涩体验
- 5天前梦见上牙脱落预示什么
- 5天前梦见杀猪的周公解梦解析
网友评论
- 搜索
- 最新文章
- 热门文章