异常:数组元素的值均为0;Resources.Load没作用

时间:2024-10-14 12:45:09

1、首先做好环境的搭建.通过unity菜单的GameObject-Create Empty创建一个空物体GameObject,在Project面板创建一个C#脚本,命名为ArrayIntroduce,将此脚本拖拽给刚刚建立好的空物体GameObject

异常:数组元素的值均为0;Resources.Load没作用

2、在Project面板建立资源文件夹,命名为Resources.有很多初学者使用Re衡痕贤伎sources.Load()加载一些资源时,会发现什么也没有加载到或者unity报错,说没有给物体初始化,这都是系统没有找到你要加载的资源导致的.加载语句正确,语句书写格式正确,你也同样放置好了资源,为什么系统还是不能找到资源呢?原因就在于Resources.Load()只能找到工程面板下名字叫"Resources"的文件夹下的资源!记住了吗?这个名字无论是拼写,还是大小写都不能错.接下来我们在这个文件夹下创建三个空的文件夹,并分别随便导入一些资源.这里导入的情况如下图所示,我导入了3张图片,1个视频,1个动画视频

异常:数组元素的值均为0;Resources.Load没作用

3、下面我们来编写脚本,如下兔脒巛钒图所示,如果你把Resources.Load()括号中的地址动态赋值的话,你将获得一个完全意义上的动态数组.现在运行一下,你就会发现所有的数组元素值都为0.这是因为,溟猫钽吟第一条语句已经对数组进行了初始化,初始化的默认值即为0,之后才对iPic,iMov, iFlash赋值.注意,我们是对iPic,iMov, iFlash赋值,而不是数组元素IntArray[0],IntArray[1],IntArray[2]赋值.数组是不会自动把他们动态的连接起来的

异常:数组元素的值均为0;Resources.Load没作用
异常:数组元素的值均为0;Resources.Load没作用

4、我们修改一下脚本,只是单纯的移动数组初始化int[] IntArray = new int[3] { iPic, iMov, iFlash }语句的位置,就能得到正确的结果了

异常:数组元素的值均为0;Resources.Load没作用
异常:数组元素的值均为0;Resources.Load没作用

5、但是当我们的Resources.Load()括号中的地址是动态的(即是不固定的),即使使用上面的脚本依然无法满足要求.这时就要求我们,不要单独定义数组元素,使用IntArray[0],IntArray[1],IntArray[2]直接参与数值的传递.通用脚本如下.

异常:数组元素的值均为0;Resources.Load没作用
异常:数组元素的值均为0;Resources.Load没作用
© 手抄报圈