如何在Phaser的mapLayer上获得平铺类型

时间:2016-02-23 11:15:35

标签: javascript json dictionary phaser-framework

我使用Tiled创建了一个地图,并在Phaser游戏中从JSON加载它,一切运行良好。

现在我想在地图图层的特定点x,y上获得一种类型的图块。我无法找到任何功能。我唯一的想法是自己读取JSON数据并创建一个二维数组以供进一步使用。

2 个答案:

答案 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;