2015-08-25 95 views
1

我正在爲我的遊戲製作一個mapeditor。我需要一種方法來保存地圖。我正在使用libGDX。並使用Android和桌面後端。LibGDX字節碼閱讀器/寫入器

地圖是2D和應包含:

  • 形狀/身體數據的Box2D(頂點/半徑/類型...)。

  • 紋理/粒子pos /文件路徑。

問題:

  1. 如何讀取libGDX /寫字節碼。

  2. 如何使它成爲例如格式.map? (Hills.map)

回答

3

所有你想在Libgdx中使用FileHandle Libgdx機制實現的文件。這很簡單:

FileHandle file = Gdx.files.local("file.txt"); 

此代碼創建爲您的文件句柄(不管它存在與否 - 那麼它將被創建爲新的),你可以使用,使對文件的操作。寫入和讀取的字節可以通過以下方式實現:

void writeBytes(byte[] bytes, boolean append) 
byte[] readBytes() 

然後在你的情況應該是這樣的

FileHandle fileHandle = Gdx.files.local("myMap.map"); 
    fileHandle.writeBytes(yummyBites, false); 

你可以閱讀有關文件處理(也什麼地方...()方法)在這裏:

https://github.com/libgdx/libgdx/wiki/File-handling

我不知道你的意思是說什麼 '格式' .MAP。如果您的意思是'帶擴展名爲.map的文件',那麼這很簡單 - 只需使用.map擴展名創建和讀取文件即可。請記住,除非您定義瞭如何處理這些擴展,否則擴展就沒有用處,因此您可以「創建」所需的任何擴展。

雖然如果你問如何格式化所有這些形狀,文件路徑等,你應該閱讀一些關於XML或JSON解析或類似的東西。最重要的是 - 我不確定你想要建立你自己的地圖編輯器 - 我不知道它是什麼樣的項目 - 但也許你會對一些現有的地圖編輯器感興趣?我認爲最好的是Tiled,其實就是supported by LibGDX

+0

我試圖做一個更復雜的形狀的mapeditor。最後,我應該能夠在圖像上繪製頂點(樹,房子,地面...)並將其拖入場景中。 (如多用途模板)。我只需要一個很好的方法將所有文件保存在一個文件中,以加載地圖。 Allso我第一次嘗試使用字節碼。 –