请问一下我在unity中想改变一下物体的高,结果为啥后台会报出这一个错

大lao们,请问一下我在unity中想改变一下物体的高,然后就是划红线的这一句,结果为啥后台会报出这一个错,下面是代码和报错结果

img

img

img

报错是数组越界,说明现在下面这个Button上挂着的Demo脚本没有初始化(Obj没有size的长度是小于2的)

img

解决方法:

  1. 猜测错误产生原因:在Button上多挂载了一个Demo脚本,若是这种情况直接移除此脚本即可。
  2. 若不是1情况,那就选中Button,在Inspector面板上给其赋值即可。
  3. 若此物体在逻辑上不需要,则需要再代码中添加数组长度校验即可,即:在25行添加如下代码:
    if(obj.Length > 1)
    

这三种情况中,总有一种可以帮助你解决问题

提示 obj[1]越界了,obj数组有内容吗?

Obj为什么会是个数组?
你只操作一个物体,那就直接定义成GameObject而不要定义成GameObject[]
你这纯粹是在自己迷惑自己

看error关键词
array outside
就是数组越界啦

楼上说的没有问题,这说的是:没有在这个数组下标中寻找到物体,也许你给定的下标越界了,该数组根本就没有这个下标,建议断点调试一下,看一看这个数组究竟有多少Gameobject,你给定的下标又是多少