2015-10-28 39 views
0

我需要將Tiled中繪製的多邊形對象加載到我的slick2d遊戲中。我可以加載矩形對象,並創建它們的碰撞盒,但我似乎無法找到加載多邊形的任何方式? (verticies等)。這是可能的在slick2d?如何從Slick2d中的Tiled加載多邊形對象?

回答

1

呦!所以我設法找到了解決方案。我會發布我爲任何感興趣的人所做的事情:

我所做的是基本上把東西拿在自己手中,並且自己添加了多邊形支持。我複製了org.newdawn.slick.tiled中的所有類,並創建了自己的版本,並添加了多邊形支持。在TiledMap類中,我修改了內部GroupObject類以包含名爲vertecies的Vec2數組,然後修改了構造函數,以便查找名爲「Polygon」(這是存儲多邊形信息的位置)的子項,然後解析String值將「points」屬性轉換爲一個Vec2數組,存儲在頂點變量中。然後我添加了返回頂點變量的getObjectVertices(int groupID,int objectID)方法。

希望這可以幫助別人在我的情況!加載地圖現在效果非常好,我爲我的小小麥基弗解決方案感到非常自豪;)

+0

太棒了!您是否考慮通過https://bitbucket.org/kevglass/slick回饋您對Slick2D的改進? –

+0

我對bitBucket並不熟悉,但是如果能夠得到它的工作原理的概述,我確信我可以擦亮我的代碼並將其發送到:)你不得不查看它但不想貢獻錯誤代碼。我不知道Slick2d仍然在工作..我在哪裏可以找到最新版本? – Tholok

+1

承諾是非常罕見的,但今年仍有一些活動。我在http://slick.ninjacave.com/wiki/index.php?title=Main_Page找到了存儲庫的鏈接,所以我認爲這應該是最新版本。你可以在https://bitbucket.org/support上閱讀更多關於使用Bitbucket的信息。請注意,我是Tiled的開發人員,而不是Slick2D,但如果您打開拉取請求,請隨時將其鏈接到它。 –