Estoy volteando uno de los objetos en mi proyecto libGDX. Al mismo tiempo, también quiero voltear su círculo de representación de formas. ¿Cómo puedo hacerlo? aquí está mi código para shaperenderer:

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

Y el método del círculo es:

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

Estoy volteando un objeto sprite como este ...

obsSprite.setFlip(true,false);
0
Niranjana 14 dic. 2016 a las 15:56

2 respuestas

La mejor respuesta

En lugar de utilizar la representación de formas de círculo / rectángulo, probé la representación de formas con polígonos Funcionó bien para rotación y volteo.

0
Niranjana 26 abr. 2017 a las 11:55

Puede usar una matriz de transformación como esta:

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

Camera.combined contiene tanto la proyección como la vista de la cámara. su matriz de transformación podría ser una matriz de escala en su caso (scaleX = -1 para volteo horizontal y / o scaleY = -1 para volteo vertical)

0
mgsx-dev 28 abr. 2017 a las 15:08