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(); } 
  • Cómo rotar un dibujable por ObjectAnimator?
  • Android - ¿Cómo diseñar un tipo de diseño de Rotary Dialer / Rotary Dialer?
  • Traducción después de la rotación
  • Rotar la imagen en el centro no va lisa (Monodroid)
  • Desactivar la rotación automática en fragmento
  • Android girar imageview, no puedo establecer la posición final de imageview en onAnimationEnd ()
  • Imagen giratoria. Animación de la lista o rotación animada? (Androide)
  • Fragmentos desaparecen cuando se rotan
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.