Java 使用矢量生成二维世界

Java 使用矢量生成二维世界,java,libgdx,box2d,Java,Libgdx,Box2d,我尝试开始使用带有向量的2d地图生成器。现在我有一些问题,我应该怎么做 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);

我尝试开始使用带有向量的2d地图生成器。现在我有一些问题,我应该怎么做

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;
}
public float[]gen(){
浮动[]向量=新浮动[100];
浮动x=0,y=0;
浮点数a=20,
b=10;
对于(int i=0;i
  • 这是一个好办法,让维克托从?对于平坦的土地/丘陵,变量a、b可以改变

  • 我想到了一张永不停息的地图。但是我怎么能只渲染玩家看到的部分呢。我将与box2d合作

  • 生成的世界零件应保存到文件中。我应该像在Minecraft中那样将它们保存为块吗?什么文件fromat是reccoment(json)

  • 我只是想有点前瞻性地寻找答案。

    第二个问题的答案。
    你必须有一个


    if(x>=camera.project(新的Vector3(camera.position.x-camera.viewportWidth-25,0,0)).x&&x我建议您研究一些著名的地形生成算法,看看它们是如何完成任务的,例如菱形正方形算法:它将为您提供如何向前移动的视角。
    
    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)