C# 统一拖拽及;下降,与指数问题斗争
我正在做拖放功能。在unity 2d中 三个选项,一个空白 我放了三个选项,它被命名为“选项1”,“选项2”,“选项3” **此场景空白应与选项3匹配 下一个场景空白应该与选项1匹配 最后一个场景空白应该与选项2匹配** 这就是我想要的。但是它说 IndexOutOfRangeException:索引超出了数组的边界。 路灯_dragdrop.Start()(位于 (我用这个代码编写了另一个函数“3个选项和3个空格”,它工作正常。 但它在这种情况下不起作用……)C# 统一拖拽及;下降,与指数问题斗争,c#,unity3d,C#,Unity3d,我正在做拖放功能。在unity 2d中 三个选项,一个空白 我放了三个选项,它被命名为“选项1”,“选项2”,“选项3” **此场景空白应与选项3匹配 下一个场景空白应该与选项1匹配 最后一个场景空白应该与选项2匹配** 这就是我想要的。但是它说 IndexOutOfRangeException:索引超出了数组的边界。 路灯_dragdrop.Start()(位于 (我用这个代码编写了另一个函数“3个选项和3个空格”,它工作正常。 但它在这种情况下不起作用……) publicgameobject
publicgameobject[]选项;//拖动选项对象
公共游戏对象[]blankoptions;//blank
Vector3[]选项StartPos;
Vector3[]空白选项StartPos;
void Start()
{
optionsStartPos=新矢量3[options.Length];
blankoptions startpos=newvector3[blankoptions.Length];
for(int i=0;i
(希望我理解正确-因为你没有发布整个错误消息)在这个循环中,你是从0循环到options.Length,但是如果blankoptions.Length小于呢?反之亦然?这可能会导致“索引超出范围”错误。
for (int i = 0; i < options.Length; i++)
{
optionsStartPos[i] = options[i].transform.position;
blankoptionsStartPos[i] = blankoptions[i].transform.position;
}
for(int i=0;i
例如:
optionsStartPos = new Vector3[10];
blankoptionsStartPos = new Vector3[1000];
for (int i = 0; i < options.Length; i++)
{
optionsStartPos[i] = options[i].transform.position;
blankoptionsStartPos[i] = blankoptions[i].transform.position;
}
选项startpos=newvector3[10];
blankoptions startpos=新矢量3[1000];
for(int i=0;i
将导致此错误
optionsStartPos = new Vector3[10];
blankoptionsStartPos = new Vector3[1000];
for (int i = 0; i < options.Length; i++)
{
optionsStartPos[i] = options[i].transform.position;
blankoptionsStartPos[i] = blankoptions[i].transform.position;
}