2016-11-11 65 views
2

我沒有找到一種方法來使用this sort of images作爲我遊戲的貼圖集。 有沒有辦法做到這一點,還是應該添加我想要的所有對象?在Spritekit中使用圖像作爲tileset

我嘗試添加一個新的網格貼磚然後設置一個單塊組,但如果我嘗試在瓷磚地圖節點來使用它,它會使用所有的圖像紋理一個街區。

我不知道是否有可能,但如果你能幫助我,我將不勝感激。

+0

的[瓷磚地圖編輯器(http://www.mapeditor.org/)能夠讀取這種地形設置的。閱讀更多在這[平鋪地圖編輯器介紹](https://gamedevelopment.tutsplus.com/tutorials/introduction-to-tiled-map-editor-a-platform-agnostic-tool-for-level-maps--gamedev -2838)文章。雖然這與SpriteKit中的「SKTilemapNode」不兼容,但您需要做額外的工作才能在SpriteKit中使用該地圖。 –

回答

2

不幸的是,你必須將圖像分爲手動較小的圖像..

你只想不存在的功能。

+0

Okey,謝謝你隊友 – Marsgames

+0

不用擔心GL與你的應用程序 –

1

您可以使用圖片作爲紋理地圖,但你將無法使用SKTextureAtlas,你將不得不打破他們出你的自我。

如果你看SKTexture,你有一個名爲init(rect: CGRect, in: SKTexture)的初始化。這將爲您創建一個新的SKTexture對象,同時仍然引用原始紋理的紋理內存空間。你只需要使用像plist這樣的東西來加載所有的CGRRect信息來創建這個地圖集。

實施例:

let textureAtlas = SKTexture(imageNamed:"CEm72.png") //I convert your jpg to png somehow 
let rectDarkKnight = CGRect(x:0,y:96,width:32,height:32) 
let texDarkKnight = SKTexture.init(rect: rectDarkKnight, in: textureAtlas) 
+0

謝謝,請試試這個 – Marsgames

+1

謝天謝地,你的貼圖不是最優的。它甚至會因爲優化紋理而變得更瘋狂,因爲你必須從圖集中獲取最小的數量,並將其餘部分放在精靈上。無論如何,我不知道如何處理SKTexture的填充 – Knight0fDragon