继续反馈TiledMap的BUG(1.3.0.beta.4)

版本:1.3.0.beta.4
注:1.2.2.beta.2无此问题

对比两个版本来看,发现TiledMap相关的东西相差较大,由此断定众位大大正在更新TileMap,哈哈。
以下是新发现的BUG
1、
调用方法tiledMap.getObjectGroup(‘Objects1’)
期望输出:Object1对象层的所有对象,实际输出:所有对象层的对象
2、
动态修改地图文件后,假设新地图也有对象层Object1,调用tiledMap.getObjectGroup(‘Objects1’).getObjects()
期望输出:新地图的Objects1对象层的所有对象
实际输出:原地图的Objects1对象层的所有对象+新地图的Objects1对象层的所有对象

注:所谓动态修改地图,是指重新设置tiledMap的tmxAsset
以下是切换地图前后,对象层Objects1的所有对象,发现id=1的对象在切换地图后,仍然存在。

以下是Demo
assets.rar (7.2 KB)

@nantas @zilong @jare @panda
多at了几位,请别见怪

1赞

你好,最近 TiledMap 增加了对 ObjectGroup 的显示支持。所以改动比较大。我会跟进这些问题的。谢谢反馈。

getObjectGroup 接口返回的是 CCTiledObjectGroup 组件对象,我调试了下并没有问题。如果要获取所有对象需要通过调用 CCTiledObjectGroup 组件对象的 getObjects() 接口来实现。我从你的 demo 中看到已经是这样写的了。是否你对 API 的理解有误呢?

我刚刚重现了你说的问题。其实你说的两个问题是同一个问题,是 TiledObejctGroup 的实现问题,当使用同一个 TiledMap 组件重复创建地图时并没有清除之前的 objects 数据。我会尽快修复的。谢谢反馈!

感谢引擎团队的积极跟进,期待中。。。