在Tiled Map 中对每个tile文件定义了碰撞体,在tile的源文件中出现了定义的碰撞体数据,但是在cocos creator中好像找不到这些数据。
cocos creator可以有直接渲染这些数据的API吗?
或者取出来也可以,手动渲染
在Tiled Map 中对每个tile文件定义了碰撞体,在tile的源文件中出现了定义的碰撞体数据,但是在cocos creator中好像找不到这些数据。
cocos creator可以有直接渲染这些数据的API吗?
或者取出来也可以,手动渲染
对每个tile文件定义了碰撞体?这是什么?
绘制tmx地图时候,每张小图片会生成.tsx 文件,定义碰撞体后,会在文件里面写入碰撞区域的坐标信息
确实是找不到,需要改引擎代码
在CCTMXMLParse.js中parseXMLString方法中tile.getElementsByTagName(‘animation’);下面添加如下代码然后重新编译引擎。这样就可以通过TiledMap对象的getPropertiesForGID找到对应tile中编辑的碰撞体了。
**注意:**我的写法只支持多边形的碰撞体,其他类型的碰撞体你自己看着解析。
let objectgroups = tile.getElementsByTagName('objectgroup');
if(objectgroups && objectgroups.length > 0) {
let objectgroup = objectgroups[0];
this._tileProperties[this.parentGID]['objectgroup'] = this._parseObjectGroup(objectgroup);
}
非常感谢。厉害