拾荒者2D小游戏关于上一节的自我总结

我有一点不太明白就是关于使用List还是Array的问题
为什么在地图和障碍物的获取上我要使用Array,例如:
private GameObject[] outWallArray;

而在障碍物生成位置上我却采用的List,例如
首先我先声明了一个名为positionList的集合 private List《Vector2》positionList = new List《Vector2》();
然后我在使用这个list集合的时候,将positionList.Clear();清空
随后将所有可以生成障碍物的地方添加进集合中
for (int x = 2; x < collums-2; x++)
{
for (int y = 2; y < rows-2; y++)
{
positionList.Add(new Vector2(x, y));
}
}

你看数组只需要写一行,而集合需要写那么多,我好像有那么一点明白,因为数组是固定长度的,而写成public格式可以在inspector面板直接添加,但是位置信息是没法直接添加的,通过Add来添加则比较容易。
下面有三个随机生成
第一个随机生成是障碍数随机生成取2–8之间的数
int WallCount = Random.Range(minCountWall, maxCountWall + 1);对于Random.Range方法取整数的时候是左闭右开,因此为了取到8应该加一
第二个随机数是位置索引
int positionIndex = Random.Range(0, positionList.Count);
为什么这个右边没有加一呢?是因为因此索引是从0开始,因此最后一个数应该是positionList.Count-1
还有一点要记住,集合List的时候总数是Count
数组的时候总数是Length

猜你喜欢

转载自blog.csdn.net/vickieyy/article/details/82967274