Cómo girar cuatro sprites al foco de estos sprites

Escribí el siguiente código:

int a=0, b=0, c=0, d=0; sprite[number[0]].setPosition(160, 600); sprite[number[1]].setPosition(560, 600); sprite[number[2]].setPosition(360, 400); sprite[number[3]].setPosition(360, 800); seiten[number[4]].setPosition(-35, 0); seiten1[number[4]].setPosition(825, 0); sprite[number[0]].setOrigin(200,0); sprite[number[1]].setOrigin(-200,0); sprite[number[2]].setOrigin(0,-200); sprite[number[3]].setOrigin(0,-200); sprite[number[0]].setRotation(a++); sprite[number[1]].setRotation(b++); sprite[number[2]].setRotation(c++); sprite[number[3]].setRotation(d++); 

Quiero girar los sprites como: Introduzca aquí la descripción de la imagen Desafortunadamente, este código no funciona para este propósito. ¿Cómo puedo mejorar mi código?

EDITAR:

Para una mejor comprensión: Tengo diez sprites con diferentes colores, cuatro de ellos se muestran en la pantalla del juego. La coincidencia decide qué sprite se mostrará, pero cada sprite de ellos tiene un color diferente. Ahora quiero girar los cuatro sprites en el carril que se muestra en la imagen. Los cuatro sprites deben encender el sprite rosa que de hecho no existe en mi código. Este sprite rosa es sólo un símbolo para el centro de la rotación (P (360 | 600)). Los cuatro sprites giran todos en el mismo carril.
Con mi código los cuatro sprites giran pero no en el mismo carril que se muestra en la imagen. Espero que mi pregunta sea ahora más clara.

2 Solutions collect form web for “Cómo girar cuatro sprites al foco de estos sprites”

Supongo que podrías usar sprite.rotate () y establecer el origen del sprite hasta el punto en el que quieras girar con sprite.setorigin ().

Prueba esto :

 Sprite sprites[],centralSprite; float centerX=200,centerY=200,radius=100; SpriteBatch spriteBatch; @Override public void create() { spriteBatch=new SpriteBatch(); Texture badlogic=new Texture("badlogic.jpg"); centralSprite=new Sprite(badlogic); centralSprite.setSize(50,50); centralSprite.setPosition(centerX,centerY); centralSprite.setOriginCenter(); sprites=new Sprite[4]; for (int i=0;i<sprites.length;i++) { sprites[i] = new Sprite(badlogic); sprites[i].setSize(50,50); sprites[i].setRotation(90 * i); sprites[i].setPosition(centerX + radius * MathUtils.cosDeg(sprites[i].getRotation()), centerY + radius * MathUtils.sinDeg(sprites[i].getRotation())); sprites[i].setOriginCenter(); } } @Override public void render() { Gdx.gl.glClearColor(1,0,1,1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); spriteBatch.begin(); for (int i=0;i<sprites.length;i++) { sprites[i].rotate(1); sprites[i].setPosition(centerX + radius * MathUtils.cosDeg(sprites[i].getRotation()), centerY + radius * MathUtils.sinDeg(sprites[i].getRotation())); sprites[i].draw(spriteBatch); } centralSprite.draw(spriteBatch); spriteBatch.end(); } 
  • Rotación de 90 grados en la vista web de FrameLayout en Android
  • ¿La imagen resultante de la cámara Android debe girarse después de la captura?
  • Rotar un ImageView como una brújula (con el "polo norte" puesto en otro lugar)
  • Cómo manejar la rotación con Retrofit y RxJava / RxAndroid en Actividad?
  • Android lo que debe ser punto de pivote para girar la imagen alrededor de su centro de la base
  • Rotar correctamente las imágenes web utilizando Picasso de Square
  • Android gire TextView en nivel de API> = 8
  • Actividad de reinicio en la rotación de Android
  • Cómo rotar el mapa de bits correctamente?
  • Traducción después de la rotación
  • Cómo utilizar el evento del sensor Android para determinar si el dispositivo está orientado hacia arriba o hacia abajo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.