我目前正在建立一個as3等距遊戲,但我有很多深度排序的問題。我搜索了一個解決方案,但沒有找到任何符合我的問題的東西(矩形對象)。等距深度排序問題與大對象
這裏是我的遊戲截圖:
正如你所看到的,深度排序工作得很好時,它的1x1的瓷磚對象之間。我只是使用它們的x和y座標(相對於等軸測圖)對它們進行排序。
問題出在我有更大的物體時,比如2x2或1x4或4x1。
任何想法我應該如何處理深度排序呢?
我目前正在建立一個as3等距遊戲,但我有很多深度排序的問題。我搜索了一個解決方案,但沒有找到任何符合我的問題的東西(矩形對象)。等距深度排序問題與大對象
這裏是我的遊戲截圖:
正如你所看到的,深度排序工作得很好時,它的1x1的瓷磚對象之間。我只是使用它們的x和y座標(相對於等軸測圖)對它們進行排序。
問題出在我有更大的物體時,比如2x2或1x4或4x1。
任何想法我應該如何處理深度排序呢?
我不認爲這是可能的排序基於每個對象的單個x
,y
值,如果他們中的一些可以足夠長的一端應在不同的深度比其他的場景。例如,考慮如果圖片中的棕色椅子向左移動一個方塊(到藍色椅子和長沙發之間的方塊),如何處理渲染。在現場比在沙發後面的紅色桌子要深一些,但需要在沙發頂部呈現,這需要放在桌子的頂部。
我認爲有兩個簡單的解決方案:
將較大的物體分割成1x1
大小的塊也可以很好,因爲可以使它們變爲模塊化。也就是說,您可以通過將1x1
件以不同的組合組合在一起來構建不同大小的對象。例如,如果您將圖像中的2x1
桌面垂直切成一半,並創建了一個適合它們的中間圖塊,則可以將圖案拉伸至3x1
或10x1
,具體取決於您重複中間圖塊的次數。有很多其他方法可以使平鋪圖形看起來不錯,只需要適量的藝術品。
Ultima Online仿真器(特別是POL,雖然可能有其他的)通過實現和使用'multi'的概念來實現這一目標 - 一個單獨的對象由分割更大的圖形組成。這些切割圖形使得它們的精靈在iso網格邊界的左角點和右角點垂直分割。
其他注意事項: - 渲染'多個'部分從上到下排列屏幕-Y軸。 - 「多」的南部(即屏幕左下角)組件成爲錨定瓷磚位置(在您的沙發中,它的最左邊的部分)。 - 考慮到每個地圖位置也可以保存自己的垂直堆棧對象;通過屏幕-Y模擬每個對象的渲染,模擬高度/高度,並且這些必須從下到上排序(例如從最低高度到最高高度)。
祝你好運!
感謝您的回答。我肯定不能使用第一種解決方案,因爲它是建立自己的賭場的用戶。我不能把他的限制。但第二個解決方案看起來很有趣,我會嘗試一下,看看我能不能找到工作。 ;) – Sanchex