我尝试开始使用带 vector 的二维 map 生成器。现在我有一些问题,我应该怎么做。
public float[] gen() {
float[] vec = new float[100];
float x = 0, y = 0;
float a = 20,
b = 10;
for (int i = 0; i < vec.length; i += 2) {
vec[i] = MathUtils.random(x, x + a);
vec[i+1] = MathUtils.random(y - b, y + b);
x = vec[i];
y = vec[i+1];
}
return vec;
}
这是获取 vector 的好方法吗? var a, b 可以更改为平坦的土地/山丘。
我想到了一张永无止境的 map 。但是我怎么可能只渲染玩家看到的部分。我将使用 box2d。
生成的世界部分应保存到文件中。我应该像在 Minecraft 中一样将它们保存为 block 吗? reccoment (json) 来自什么文件?
我只是喜欢有点远见。
最佳答案
第二个问题的答案。
你必须有一个 Camera
if(x >=camera.project(new Vector3(camera.position.x - camera.viewportWidth - 25, 0, 0)).x) && x <= camera.project(new Vector3(camera.viewportWidth + camera.position.x + 25, 0, 0)).x)
和 y 与此相同或更少滞后(那里的每一帧都会创建新的
Vector3 对象,所以...)
祝你好运!
关于java - 用 vector 生成二维世界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33487285/