2015-11-02 80 views
3

我嘗試着手用矢量生成2D地圖生成器。現在我有一些問題,我應該如何去做。用矢量生成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; 
} 
  1. 這將是從獲得verctors的好辦法? var a,b可以改變爲光滑的土地/丘陵。

  2. 我想到了一幅永無止境的地圖。但我怎麼才能渲染玩家的角色呢?我將使用box2d。

  3. 生成的世界部分應保存到文件。我應該將它們保存爲像Minecraft中的塊嗎?什麼文件fromat是reccoment(json)?

我只是希望能夠找到一些有用的信息。

+1

我建議你研究一些衆所周知的地形生成算法,看看它們是如何完成的,比如鑽石平方算法:https://en.wikipedia.org/wiki/Diamond-square_algorithm這會給你透視關於如何前進。 – Frecklefoot

回答

1

回答第二問:
你必須有一個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相同或低於此laggy(每幀有創造了新的Vector3
對象,所以... ) 祝你好運!