首先单独的创建简单碰撞体应该基本没问题 可以参照
主要是创建多边形 直接贴代码看注释吧
var sfloors = this.tiledMap.getObjectGroup('Special_Floor').getObjects(); //此处获取对象层
for (let i = 0, l = sfloors.length; i < l; i++) {
let sfloorsgNode = sfloors[i];
let compoent = this.floor_physics.addComponent(cc.PhysicsPolygonCollider);
let poitlist = sfloorsgNode.getProperties().points
//一个是在这 getProperties 找了很久都没找到这个points的属性结果没在shNode上,而且这个方法也是隐藏得很深 文档根本没有???
compoent.points = [];
for (var index = 0; index < poitlist.length; index++) {
poitlist[index].y = -poitlist[index].y;//翻转碰撞体
compoent.points.push(cc.p(poitlist[index]));
}
compoent.offset = new cc.p(sfloorsgNode.sgNode.x, sfloorsgNode.sgNode.y);
}