java - 用 vector 生成二维世界

标签 java libgdx box2d

我尝试开始使用带 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;
}
  1. 这是获取 vector 的好方法吗? var a, b 可以更改为平坦的土地/山丘。

  2. 我想到了一张永无止境的 map 。但是我怎么可能只渲染玩家看到的部分。我将使用 box2d。

  3. 生成的世界部分应保存到文件中。我应该像在 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/

相关文章:

javascript - 在 html5 canvas 和 box2d 中跟随 body

java - 通过 FHIR DSTU2 HL7 中的标识符删除药物订单

java - 如何检查 Iterator.next() 是否为 == null?

libgdx - 如何处理 Android 中屏幕 gui(用于暂停按钮)的输入?

java - libgdx 调整带边框的图像大小

java - 如何使用 libGDX 在纵向和横向模式之间切换?

java - box2d 主体特定区域上的触摸事件

java - 将命令行参数存储在数组类中

java - 图片之间切换(JFrame、JButton)

java - 如何使用 libgdx contactlistener