拾荒者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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值