Unity做游戏遇到问题
ArgumentOutOfRangeException:索引超出范围。必须为非负数且小于集合的大小。 参数名称:索引 System.Collections.Generic.List`1[T].get_Item(System.Int32 索引)(位于:0) GameController.Update ()(位于 Assets/Scripts/GameController.cs:95)
项目中有很多错误,但就是这个,根本让项目跑不起来。错误本身应该在第 95 行。
private void Update() {
if((Input.GetMouseButtonDown(0) || Input.touchCount > 0) && cubeToPlace != null && allCubes != null && !EventSystem.current.IsPointerOverGameObject()) {
#if !UNITY_EDITOR
if (Input.GetTouch(0).phase != TouchPhase.Began)
return;
#endif
if(!firstCube) {
firstCube = true;
foreach (GameObject obj in canvasStartPage)
Destroy(obj);
}
GameObject createCube = null;
if (posibleCubesToCreate.Count == 1)
createCube = posibleCubesToCreate[0];
else
**createCube = posibleCubesToCreate[UnityEngine.Random.Range(0, posibleCubesToCreate.Count)];**
GameObject newCube = Instantiate(
createCube,
cubeToPlace.position,
Quaternion.identity) as GameObject;
newCube.transform.SetParent(allCubes.transform);
nowCube.setVector(cubeToPlace.position);
allCubesPositions.Add(nowCube.getVector());