Unity开发时遇到的各种需要注意的地方

前言:

最近在做东西的时候突然想到,自己以前做过的项目有很多地方需要注意的,然而并没有记录下来,导致下次还会出现这样的问题。于是就有了这个想法,把之前各种各样奇奇怪怪的问题都记录下来,解决方案也写下了。

一是加深记忆,二是万一又遇到了好歹也有个参考;

 

正文:

1、Transform.GetComponentsInChildren 找不到组件!?

这是因为Transform.GetComponentsInChildren这个方法默认是不包含不**的物体的。所以如果被查找的组件一开始没有**,那么在不填写参数的情况下就会找不到该组件。

如果要找未**的组件,则需要在括号里写ture:

Unity开发时遇到的各种需要注意的地方

 

2、在使用Queue.Peek 的时候报错:InvalidOperationException: Operation is not valid due to the current state of the object .

遇到过一次,这个原因是在队列中元素为空的时候就会抛出这个错误。

所以在Peek的时候需要判断一下队列的元素数量。

public T Peek() {
            if (_size == 0)
                ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EmptyQueue);
    
            return _array[_head];
        }

参考:https://blog.****.net/fdyshlk/article/details/77394738