2013-12-09 90 views
0

我無法渲染2d塊狀地圖。
這裏如何2D地圖陣列創建的:渲染2D塊狀地圖 - LibGDX

map = new Block[w * h]; 

塊類包含2個變量 - 大小(H:100像素,寬:100像素),以及圖像紋理。

好的,那麼我應該如何渲染它? 我的意思是說讓玩家走在地圖上,我應該如何讓地圖移動/滾動效果。

我試圖循環遍歷地圖並渲染它,但沒有任何運氣。因爲我需要以某種方式切割塊時,我渲染它,我沒有任何想法如何做到這一點。
我真的需要幫助,這將非常感激!

回答

1

此:

map = new Block[w * h]; 

應該是一個二維數組:

map = new Block[w][h]; 

還是我誤解?

  • 好的,那麼我該如何渲染它呢?
    如果每塊有一個圖像紋理,然後就是不斷的循環,這樣的事情:

    for(int i=0; i<w; i++){ 
        for(int j=0; j<h; j++){ 
         Block b = map[i][j]; 
         spritebatcher.draw(b.texture, i*b.W, j*b.H); 
        } 
    } 
    
  • 我應該怎麼使地圖移動/滾動效果?
    從技術上講,地圖不會滾動。你移動你的播放器,相機將跟隨他/她。

    camera.position.set(player.position.x, player.position.y, 0); 
    
  • 我需要以某種方式當我呈現它和我沒有任何想法如何做到這一點裁塊。
    恐怕我不明白這個問題。

+0

非常感謝..但是等等,我不知道你在libGDX有相機的東西..讓我檢查一下。非常感謝朋友! – Israelg99

+0

關於數組..爲了表現,我做了一維數組。它的工作方式就像'map [y * width + x]'。 – Israelg99

+1

1D陣列在性能方面提供了輕微的增益,並且通常會導致頭痛。但是,如果你願意,可以使用它們! – 2013-12-15 02:28:14