-
Creator 版本:v2.0.10
-
现在的Tiledmap地图的层级方案:
*将障碍物的图块分为上下两块,如,树木分为上下两块60x60的图块,树冠放到barrier-surface层,树根放到barrier层,player层放到barrier和barrier-surface之间。
*给树根,人物增加刚体,当人物走在树后面时正常的(人的层级在树冠下面),当人物走到树的前面时,会出现人物的头部分在树冠的下面。 -
所以不知有没有改变某一块tiled图块的层级的办法?或是有其他地图层级更好的方案?
还有,
使用mapLayer.setTiledTileAt(5, 5, 33);
并不能在tile坐标(5,5)的位置放上gid为33的图块,反而把原来的图块去掉了,留下一个空格。
这是怎么回事?
。
!!!
setTiledTileAt方法是不是用错了!,还有上面的那个显示不明白你想实现什么!
终于找到答案了,当Anchor不为(0,0)的时候(默认是0.5,0.5),setTiledTileAt()无效,不知道为什么
上面的显示是这样的:

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

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

问题来了,当人在同时与树冠层与树跟层重叠的时候,有部分头被盖住了(正常应该是人物头盖住树冠)
!!!
如果把障碍物动态加载的呢?只在地图中标记一个位置和类型,加载地图后添加障碍物,顺便根据y设置层级,人物也根据y动态设置层级不久可以实现遮挡了吗?
官方tilemap示例中有一个例子,用的接口是addUserNode,层级基本满足要求,是个不错的思路

1赞
谢谢哈,能给个链接吗?
你的想法是,人物移动的时候,障碍物图块都做根据人物坐标来计算出放在哪一层吗?一直监听着吗?
我说这个接口貌似2.2才有,下载个creator2.2,新建工程里就有官方示例