求助,关于Tiled结合PhysicsBody

使用cocos2d-x3.x版本开发平台跳跃游戏,在Tiled中编辑关卡。载入关卡地图TMX文件后,需要为每一个瓦片添加PhysicsBody,如果逐一添加会产生过多物理目标,极度影响性能,是否有类似于将邻近瓦片连接为一体的方法,或者避免相邻瓦片碰撞的方法?使用的代码如下所示
想到只使用一个PhysicsBody并通过addShape添加PhysicsShape的方法解决,但不知道如何调整每一个PhysicsShape相对于PhysicsBody的坐标的方法。
不知道有什么好的解决方案,谢谢大家!


TMXLayer * l_groundLayer = tiledMap->getLayer(TMX_GROUND_LAYER);

auto l_mapSize = tiledMap->getMapSize();

for (int i = 0; i < l_mapSize.width; i++)
{
	for (int j = 0; j < l_mapSize.height; j++)
	{
		Sprite * l_tileSprite = l_groundLayer->getTileAt(Vec2(i,j));

		if(l_tileSprite!=nullptr)
		{ 
			PhysicsBody* l_tileSpriteBody = PhysicsBody::createEdgeBox(l_tileSprite->getContentSize());
			l_tileSpriteBody->setGravityEnable(false);
			l_tileSpriteBody->setContactTestBitmask(GROUND_BIT_MASK);
			l_tileSprite->setPhysicsBody(l_tileSpriteBody);
		}
	}
}
return true;

已解决了,PhysicsShape可以在create的时候设置偏移坐标,不过貌似这个坐标是存储在chipmunk中的。