2016-06-28 44 views
0

我真正的新Libgdx和遊戲編程...這是我的愛好LibGdx多層次立體

我已經下載了一些圖片很容易城的比賽。它非常簡單地建立一個「一層」地圖(Drawing Isometric game worlds),

這裏說到: an "eaxmple" for using a collection of images! 但是,正如你在圖像上看到的那樣,有一個背景(藍色)......然後就是那些高層建築(紅色)。所以它都是多層次的,它非常適合完美...所以我的問題是:什麼是最好的方式來構建這樣的東西,或者他們是否有任何渲染模式?我如何在不同的高度步驟顯示瓷磚?例如一個橋(例如在TheoTown中)?

an image example

+0

我想我找到了這個http://codereview.stackexchange.com/questions/92095/isometric-city-building-game ...一個安靜的良好解決方案,但具有不同高度的什麼? – DranikMan

回答

0

嘗試通過z-index的排序建築。在這種情況下,這意味着更靠近屏幕底部的建築物(不管它們的高度)應該最後繪製。

這裏是什麼,我會做一個例子:

public class Building implements Comparable<Building> { 
    //render, constructor, etc. 
    public int compareTo(Building b) { 
     return b.y - y; 
     //sort buildings based on their distance from the bottom of the world 
    } 
} 

在你的渲染代碼,第一排序建築列表,然後繪製:

Collections.sort(listOfBuildings); 
for (Building b : listOfBuildings) { 
    b.render(); 
} 

我希望這有助於! 順便說一句,我現在無法測試這個,所以有可能繪圖完全倒退,頂部的建築物在下面的建築物之前繪製。如果是這種情況,請使用compareTo方法。

+0

這個作品不錯:'用於(INT Z = mapLayerCount-1; Z> = 0; z--){ \t \t \t對(INT X = 0; X = 0; y - ){// RENDER'.....然後繼續像這樣渲染:.......'screenX =(cellX * tile_width/2)+(小區j * tile_width/2) screenY =(小區j * tile_height/2) - (cellX * tile_height/2)' – DranikMan

+0

感謝您的幫助!但經過一段時間的搜索之後,我決定使用z座標......就像上面 - > – DranikMan

+0

但我不知道如何建立一座橋......或者只是一個「高一級」的塊,因爲z座標只排序繪圖「順序」...但我需要像摩天大樓一樣的東西,(圖片) – DranikMan