我目前正在学习使用LibGDX在Java中开发游戏,并对等距类型的瓷砖游戏中的无限 map 生成有几个问题.我当前在屏幕构造函数中的代码如下所示.
for (int col = MAP_WIDTH - 1; col >= 0; --col) {
for (int row = MAP_HEIGHT - 1; row >= 0; --row) {
int x = (col * TILE_WIDTH / 2) - (row * TILE_WIDTH / 2);
int y = (col * TILE_HEIGHT / 2) + (row * TILE_HEIGHT / 2);
float noise = OpenSimplex2.noise2_ImproveX(SEED, ((float) col) * scale, ((float) row * scale));
mainStage.addActor(new TileActor(x, y, col, row, getNameFromNoise(noise), mainStage));
}
}
这会将和Actor添加到设置的MAP_WIDTH和MAP_HEIGH中,并根据单纯噪波算法更改该平铺的纹理.我怎样才能最好地把这个改变成一个无限的世界呢?是否应该事先计算所有噪声值,然后在摄像机平移演员的位置时加载演员?我如何最好地存储这个生成的 map ?谢谢.