请问各位前辈关于tiledmap的 层级问题

  • Creator 版本:v2.0.10

  • 现在的Tiledmap地图的层级方案:
    *将障碍物的图块分为上下两块,如,树木分为上下两块60x60的图块,树冠放到barrier-surface层,树根放到barrier层,player层放到barrier和barrier-surface之间。
    *给树根,人物增加刚体,当人物走在树后面时正常的(人的层级在树冠下面),当人物走到树的前面时,会出现人物的头部分在树冠的下面。

  • 所以不知有没有改变某一块tiled图块的层级的办法?或是有其他地图层级更好的方案?

还有,

使用mapLayer.setTiledTileAt(5, 5, 33);

并不能在tile坐标(5,5)的位置放上gid为33的图块,反而把原来的图块去掉了,留下一个空格。

这是怎么回事?

:confounded:

!!!

setTiledTileAt方法是不是用错了!,还有上面的那个显示不明白你想实现什么!

终于找到答案了,当Anchor不为(0,0)的时候(默认是0.5,0.5),setTiledTileAt()无效,不知道为什么

上面的显示是这样的:

如图,树冠layer层级在人物层的上面,实现人在后面的时候树冠遮挡住人;

如图,树根layer层级在人物层的下面,人的头可以挡住树跟;

问题来了,当人在同时与树冠层与树跟层重叠的时候,有部分头被盖住了(正常应该是人物头盖住树冠)

!!!

如果把障碍物动态加载的呢?只在地图中标记一个位置和类型,加载地图后添加障碍物,顺便根据y设置层级,人物也根据y动态设置层级不久可以实现遮挡了吗?

官方tilemap示例中有一个例子,用的接口是addUserNode,层级基本满足要求,是个不错的思路

1赞

谢谢哈,能给个链接吗?

你的想法是,人物移动的时候,障碍物图块都做根据人物坐标来计算出放在哪一层吗?一直监听着吗?

我说这个接口貌似2.2才有,下载个creator2.2,新建工程里就有官方示例