Box2D 和 Cocos2d-x 坐标

Box2D and Cocos2d-x coordinates

我正在使用 Box2D 和 cocos2d-x 但我无法确定坐标系。

我知道 cocos2d-x 使用 P(0,0) 作为屏幕的左下部分。 Box2D 使用 P(0, 0) 作为它的世界中心。

我正在为 Box2D 使用调试绘图。

当在 Box2D 坐标中的 P(0,0) 处创建一个多边形形状的物体时,它会显示在屏幕的左下角。

为什么它没有出现在中心?

定位任意b2Body时,水平居中使用Sprite::getBoundingBox().getMidX(),垂直居中使用Sprite::getBoundingBox().getMidY()

您可能希望将这些调用包装在 Node::convertToWorldSpace(midX, midY) 中,以确保您的中心坐标扩展到 cocos2d-x 世界坐标系,因此 Box2D 世界坐标 space 为它必须是一致的。