Girar Rectángulo con LibGDX – android libgdx

Pregunta:


Estoy haciendo un programilla de prueba que se compone de :

  • 4 botones , arriba, abajo, izquierda y derecha.
  • Una nave espacial, formada por un Rectangulo(Rectangle) y su respectiva imagen (Texture).

Boton arriba, se mueve hacia arriba

Boton abajo, se mueve hacia abajo.

Boton izquierdo, gira en sentido antihorario sobre si mismo
Boton derecho , gira en sentido horario sobre si mismo

No encuentro ningun método para hacer funcionar el boton derecho e izquierdo. Gracias de antemano.

Preguntado por: Ramosaurio

centenond

Puedes utilizar también la clase Polygon en lugar de Rectangle

a diferencia del rectangulo el polygono se define segun sus vertices:
introducir la descripción de la imagen aquí

Polygon polygono = new Polygon(new float[]{
                rect.x, rect.y,                                 //vertice A
                rect.x, rect.y + rect.height,                   //vertice B
                rect.x + rect.width, rect.y + rect.height,     //vertice C
                rect.x + rect.width, rect.y                    //vertice D
            });


botonIzquierdo.addListener(new InputListener(){
    @Override
    public boolean touchDown(InputEvent event, float x, float y,
                    int pointer, int button) {

        polygono.rotate(5);
        return super.touchDown(event, x, y, pointer, button);
    }
});

En render();

shapeRenderer.begin();
shapeRenderer.setColor(Color.red);
shapeRenderer.polygon(polygono.getTransformedVertices());
shapeRenderer.end();

Bueno he conseguido ver como solucionar este error sencillito.

Si creamos el Rectangle no vamos a poder manipularlo mucho, deberiamos crear un ShapeRender :
Creamos cuatro puntos

float shapeX = new float[4];
float shapeY = new float[4];

y ahora en nuestro void draw()

shapeX[0] = x + MathUtils.cos(radians);
shapeY[0] = x + MathUtils.sin(radians);

Le damos valor a radians, al punto principal le doy pi/2 , y ya le vamos sumando su respectivo angulo a cada punto. Hacemos esto con cada punto del array.

Fuente

Related Posts:

Push notifications to devices and browsers via Pushbullet
...
Send messages to mobile devices with Google Firebase.
...
A PHP library for easy PushOver service use: send real-time notifications to your Android and iOS devices.
...
A simple PHP library for the Pushover service
...
Google Cloud Messaging (GCM) PHP Server Library
...
Read basic info about an application from .apk file.
...
A PHP library for sending GCM messages
...
A Bundle for Symfony2 projects to send notifications in mobile devices through Firebase Cloud Messaging API
...
PHP API for Firebase Cloud Messaging from Google
...
PHP application server for google firebase cloud messaging (FCM)
...
Standalone PHP library for easy devices notifications push.
...
Botones con android y LibGDX – android libgdx
Pregunta: Buenas, he creado un pequeño boton en android, con libGDX muy sencillo, pero el problema es el siguiente: Le tengo asignada una funcion que escribe ...
¿Location manager Android? Experiencias – android mysql android-studio
Pregunta: He desarrollado una aplicación Gps que envía información a Mysql cada 10 seg atraves de locationmanager. ¿Según su experiencia hasta cuanto es posible disminuir ...
Crear cuenta regresiva N segundos mientras se visualiza una Activity en Android – java android
Pregunta: Quiero implementar una cuenta regresiva de N segundos, que se inicie cuando la Activity se muestre, se pare el contador cuando el usuario decide ...
Crear prototipos para aplicaciones Android – android prototipos
Pregunta: estoy interesado en optar por una herramienta que me sea bastante util para poder realizar prototipos de aplicaciones móviles, especificamente para Android. Empece buscando ...

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *