gpt4 book ai didi

java - 在不同时间将新值累加到数组中

转载 作者:行者123 更新时间:2023-12-01 12:45:51 26 4
gpt4 key购买 nike

我正在开发一个游戏,我正在使用一组 block 来存储加载的 block 。目前,我正在研究玩家生成时的地形生成。有没有什么方法可以让我在看到合适的时候在 block 数组中创建一个新的 block 。长话短说,当玩家走到未生成 block 的区域时,我想在 block 数组中初始化一个新值,而不必在类的开头初始化该 block 。

chunks = new Chunk[chunkCounter];
chunks[chunkCounter] = new Chunk();
chunkCounter++;

每次需要生成新的 block 时,我都需要执行类似的操作,在数组中创建一个新的 block ,而无需预先指定数组的大小。

提前致谢。

最佳答案

是的,你可以做到!但在此之前,您需要定义 block 数组的总大小(假设为 100)。

block block =新 block [100];

您不需要立即初始化它。当玩家到达该 block 时,您可以初始化它。

chunks[chunkCounter] = new Chunk();
chunkCounter++;

但请注意你不能这样做

chunks = new Chunk[chunkCounter];
chunks[chunkCounter] = new Chunk();
chunkCounter++;

首先会创建一个大小为 chunkCounter 的数组,可用索引为 0-(chunkCounter-1) 所以你的 chunks[chunkCounter] = new Chunk(); 将抛出 IndexOutofBoundException

此外,您无法动态调整数组大小。如果您想使用List代替。

关于java - 在不同时间将新值累加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24714879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com