在 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 用于垂直翻转)
我正在翻转我的 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 用于垂直翻转)