当我将属性添加到我的图块时,属性会映射到tileID - 1
. 我知道 0 表示<layer data>
. 这让我困惑了很长一段时间,直到我注意到它。显而易见的解决方法是在解析文件时将属性增加 1。但是有人知道这是为什么吗?我错过了什么还是这甚至是正常行为?
例子
- 我给了地砖一个测试物业地板。
- 我给了两堵墙一个碰撞属性 PassableXXXX。
这是我的 TMX 的一部分:
<tile id="0">
<properties>
<property name="floor" value="floor"/>
</properties>
</tile>
<tile id="1">
<properties>
<property name="PassableNorth" value="0"/>
</properties>
</tile>
<tile id="2">
<properties>
<property name="PassableEast" value="0"/>
</properties>
</tile>
</tileset>
<layer name="Floor" width="8" height="8">
<data encoding="csv">
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1
</data>
</layer>
<layer name="Wall" width="8" height="8">
<data encoding="csv">
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,3,3,5,3,0,0,
0,0,2,0,0,0,0,0,
0,0,4,0,0,0,0,0,
0,0,2,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0
</data>
</layer>
如您所见,0 属性映射到墙层的空瓷砖。GID 2 和 3 是我实际的北墙和东墙,但在属性部分被称为 1 和 2。