我正在开发游戏,正在使用大量的块来存储已加载的块。当前,当玩家生成时,我正在进行地形生成。有什么可能的方式,只要我觉得合适,就可以在块数组中创建新的Chunk。长话短说,当玩家走到不生成块的区域时,我想在块数组中初始化一个新值,而不必在课程开始时初始化该Chunk。
chunks = new Chunk[chunkCounter];
chunks[chunkCounter] = new Chunk();
chunkCounter++;
每次需要生成新的Chunk时,都需要执行类似的操作,即在数组中创建新Chunk的过程中,而不必事先声明数组的大小。
提前致谢。
最佳答案
是的,你可以这么做!
但是在此之前,您需要定义块数组的总大小(假设为100)。
块=新块[100];
您不需要立即对其进行初始化。当玩家进入该块时,您可以对其进行初始化。
chunks[chunkCounter] = new Chunk();
chunkCounter++;
但请注意,您无法做
chunks = new Chunk[chunkCounter];
chunks[chunkCounter] = new Chunk();
chunkCounter++;
像第一个一样将创建一个大小为chunkCounter的数组,可用索引为
0-(chunkCounter-1)
,因此您的chunks[chunkCounter] = new Chunk();
将抛出IndexOutofBoundException
。同样,您不能动态调整数组大小。如果要使用
List
代替。