我使用Tiled创建了一个地图,并在Phaser游戏中从JSON加载它,一切运行良好。
现在我想在地图图层的特定点x,y上获得一种类型的图块。我无法找到任何功能。我唯一的想法是自己读取JSON数据并创建一个二维数组以供进一步使用。
答案 0 :(得分:1)
Phaser的Tilemap包含方法getTile(x,y,layer,notNull)
,它以特定点BUT返回tile对象,以tile单位而不是像素给出。
然后我相信index
的{{1}}属性包含您需要的数据(请参阅here)。
您需要做的就是将像素转换为平铺单位 - 基本上您可以将像素除以平铺宽度或高度(请参阅属性说明here)。因此,对于默认的32/32网格像素,0-31是1个标题,32-61是第2个标题,依此类推。
答案 1 :(得分:0)
我为我找到了一个解决方案:
var map = this.cache.getTilemapData('testmap').data.layers[0].data;