使用 Phaser3 时,这有效:
map.createFromObjects('Layer_Objects', 'sprite', { key: 'item' })
'Layer_Objects'是Tiled中图层的名称。 “sprite”是将替换图层中创建的 itens 的图像名称。 “item”是用 Tiled 创建的点的名称。 我尝试了许多其他选项,但没有一个起作用,其中一些要求 GID,但 Tiled 不会生成此属性。该项目是使用最新版本的 Phaser 2 CE 制作的。
经过一番研究,这段代码有效:
this.map.createFromObjects('Layer_Objects', 'item', 'sprite', 0, true, false, this.itens);
Layer_Objects = 使用 Tiled 创建的图层对象的名称
item = 在 Layer_Objects 上创建的itens(点)的名称(它们将在代码中动态替换为精灵)
sprite = sprite 的 spritesheet 的名称,它将替换 Tiled 在图层上创建的 itens。即使 spritesheet 只有 1 帧(索引 0)它也能工作
0 = spritesheet 中当前帧的索引。
true, false = 是默认值(对于现有精灵和创建的项目将位于相机区域),我不需要更改这些值
this.itens = 刚刚创建的 itens 所属的 itens 组