2017-02-12 119 views
1

我正在使用SKTiledSKTiled:具體瓷磚位置

SKTileLayer.tileAt(0,0)函數返回的瓦片在CGPointSKTileLayer.pointForCoordinate(coord: CGPoint)也一樣。

我想要的只是在網格上獲得一個平鋪(0,0),而不是在CGPoint s上平鋪。那將是地圖中的第一個Grid。我怎樣才能以這種方式獲得瓷磚?

編輯:tileAt(0,0)返回第一個網格,但如果我想將播放器位置更改爲tileAt(0,0)它不是真正的位置。

回答

0

這是一個很好的框架,你可以使用一個返回圖塊座標在層給定的點的方法:

SKTileLayer.coordinateForPoint(<#T##TiledLayerObject#>) 

你可以找到更多的細節,框架官方文檔here

你還可以得到瓷磚自動完成如下:

enter image description here

爲y你可以看到它返回一個SKTile

+0

好的這個工程,但爲什麼我必須addChild(播放器)的圖層獲得工作?? – Lirf

+0

不,這不是必須的,你應該注意'zPosition'。爲此目的總是[文檔](https://mfessenden.github.io/SKTiled/Classes/SKTilemap.html#/s:vC7SKTiled9SKTilemap13lastZPositionV12CoreGraphics7CGFloat),你可以找到一個有用的變量,稱爲'lastZposition' –

+0

如果我不這樣做'SKTileLayer.addChild(Player)'我沒有得到玩家節點的正確位置。無論如何,你知道如何加快創建tile地圖嗎? – Lirf