我在尋找建議,不僅僅是直接幫助。平臺變形瓷磚引擎 - 關於如何處理長瓷磚的建議
我正在XNA的8位平臺遊戲中工作。我已經可能已經沉沒了160個小時,而且我已經開始涉及我擁有的引擎問題。它基本上是XNA平臺遊戲演示的改編/修改版本。我的所有或大部分瓷磚都是32x32,但有些是64寬和32px高,就像桌子一樣。有些32寬64高,就像植物一樣。
我一次性將它們發送到gpu只有一個.png,類似於XNA教程的作者做瓷磚映射的方式。對於動畫精靈,我使用角色不同幀的貼圖。對於瓷磚地圖數據,我讀取的文本文件就像XNA教程。
我應該如何適應寬和高的瓷磚?我應該製作一個雙層瓷磚系統(我認爲我應該遵守保持簡單的愚蠢規則)?
現在我正在使用透明瓷磚來擴展寬的瓷磚。
桌椅:
chair http://dl.dropbox.com/u/8446900/game_screen_desk.png
.....
...h.
..d".
#####
植物和椅子:
desk http://dl.dropbox.com/u/8446900/game_screen_plant.png
..p...h.
..,...,.
########
的椅子,是 'H', 'd' 是書桌, 'p'是植物,而','是用於透明背景瓷磚(沒有互動與用戶一起)。 '''用於用戶可以站立的透明瓷磚(擴展桌面)。問題是,正如你所看到的,背景似乎有一個洞。
我應該製作一個實際的瓷磚地圖並將所有東西合併成一個大的PNG?我可以採取的另一個選擇是實際上將每個寬的或高的瓷磚切割成兩個不同的瓷磚,親們如何做到這一點?我不是在尋找一種快速而髒的修復方法,天平臺遊戲將運行
UPDATE:。審查的答案後,我發現,包裝精靈成片狀一個非常有用的工具
http://spritesheetpacker.codeplex.com/
更新:我新升級的瓷磚引擎速度更快,幾乎同樣簡單。下面的建議很好。強力推薦。
哈哈,我是藝術家。這應該不成問題。你會如何推薦我將圖形導入遊戲?作爲一個多個瓷磚或幾個圖像的大圖像?我知道內存曾經是一個約束,但現在我想知道它是否值得。它可能會在Windows Phone上發佈,因此性能是一個考慮因素。 – montag
我想我真正的問題是,將每個項目單獨發送到XNA內容管道而不是擁有大量的spritesheet並從中切割出來,這會浪費多少cpu/ram?將每個物品單獨運送到GPU還是從它上面切下一塊大的紙張會更好? – montag
哦,確實是一張單獨的spritesheet。只是不是內存將被浪費,每次你嘗試和綁定不同的紋理 - 這是一個renderstate變化,這些都是昂貴的。 – Ani