Creater 导入tilemap,为何获取不到对象层?

如题,使用creater创建一个tilemap节点,把导入的tmx文件绑定到节点对应的tilemap组件,但是在js中获取tilemap的对象层,获取不到。creater的层级管理器也没显示对象层,只有背景层?

获取对象层的接口为 getObjectGroup(groupName)

目前 TiledMap 暂时不支持对象层的显示,会在后续版本进行改进。谢谢反馈!

非常感谢回复。我是用的那个方法,可是没成功
map :{
default:null,
type:cc.TiledMap
}

},

// use this for initialization
onLoad: function () {
    var objectLayer = this.map.getObjectGroup("o");
    var array = objectLayer.getObjects();
    cc.log("this is:"+objectLayer.getObject("b").name);
    this.title.string =objectLayer.getObject("b").name;
}

报如下警告:TypeError: objectLayer is null

@windysea
是否有可以重现问题的工程?

刚传上去了。最简单的使用tilemap测试
https://github.com/windysea/cocosstudy

我刚刚试了一下,发现问题的原因在于:名称为 b 的这个 object 有一个自定义的属性 name,值为 windysea。在解析地图数据时,这个自定义属性覆盖了 object 原有的 name 属性 b。如图:

把这个自定义的 name 属性删除之后就可以正常获取对象了。

我这里删除了那个属性,还是不行,控制台报错如图。
js内容如下:

关键错误好像是:
Simulator : js_cocos2dx_TMXTiledMap_initWithTMXFile : Invalid Native Object
Simulator : C:/Users/whtme/AppData/Local/CocosCreator/app-1.0.3/resources/app.asar.unpacked/utils/simulator/win32//src/jsb_polyfill.js:20415:Error: js_cocos2dx_TMXTiledMap_initWithTMXFile : Invalid Native Object

这是怎么回事?

虽然看不到,但是可以取得到

请问你的 Creator 是哪个版本呢?是否有修改过 native 引擎?

我刚找到原因。 是因为 tilemap的调用不用放在onload 函数内。估计onload的时候,组件的属性还没绑定吧。所以造成无法引用。
properties: {
title:{
default:null,
type:cc.Label
},
map:{
default:null,
type:cc.TiledMap
}
},

// use this for initialization
onLoad: function () {

},
onClick : function(){
    var objectLayer = this.map.getObjectGroup("o");
    var array = objectLayer.getObjects();
    cc.log("this is:"+objectLayer.getObject("b").name);
    this.title.string =objectLayer.getObject("b").name;
}

定义了一个按钮,点击按钮执行onclick事件。发现可以引用tilemap了。谢谢您的回复。

你用的 Creator 是 1.0 版本?在 1.0 版本中 tilemap 一定要在 mapLoaded 回调之后才能正常使用。
在 1.1 版本中 TileMap 的加载方式进行了调整,是可以在 onLoad 中使用的。

哦。我是1.0.3版本吧。1.1版本在哪里?没能提示我更新版本啊:),我刚找了下,creater没有update的菜单啊。

http://forum.cocos.com/t/cocos-creator-1-1-0-beta-5-27-rc1/36633
这是 1.1 内测版发布的帖子,可以关注一下。

1.1 正式版也快要发布了。敬请期待!

好。期待ing.多谢。