在 libGDX 中翻转 shaperenderer 对象

Flipping a shaperenderer object in libGDX

我正在翻转我的 libGDX 项目中的一个对象。同时我也想翻转它的形状渲染圈。我该怎么做? 这是我的 shaperenderer 代码:

    shapeRenderer.setProjectionMatrix(camera.projection);
    shapeRenderer.setTransformMatrix(camera.view);
    shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
   if (obsObj.isSpider())
            circle(shapeRenderer, ob.getCollisionCircle());
shapeRenderer.end();

和圈法是:

private void circle(ShapeRenderer renderer, Circle circle) {
    shapeRenderer.circle(circle.x, circle.y, circle.radius, 100);
}

我正在像这样翻转精灵对象..

obsSprite.setFlip(true,false);

我没有使用 circle/Rectangle 形状渲染,而是尝试 使用多边形进行形状渲染。 它适用于旋转和翻转。

您可以像这样使用变换矩阵:

shapeRenderer.setProjectionMatrix(camera.combined);
shapeRenderer.setTransformMatrix(...your transformation matrix...);

camera.combined 包含相机投影和视图。 在您的情况下,您的变换矩阵可能是缩放矩阵(scaleX = -1 用于水平翻转 and/or scaleY = -1 用于垂直翻转)