# LibGDX - Rotating sprites and still keep the positioning between them

I've been struggling with a problem regarding rotations and relative positions between sprites (in this case, the sprites are just lines) - a bit off-topic, but should i be using the ShapeRenderer class to do this, though?

Anyway, it might be quite simple but i can't seem to figure it out properly. Heres a picture of the situation: https://gyazo.com/78988e07991fedc778eaeb70f8a04d8e

Now, after trying a bunch of different approaches, this piece of code is the one i'm testing right now:

 public class TestState extends AbstractGameState {

private static final String LINE = "lineEffect.png";

private Sprite[] sprites;

public TestState(GameStateManager gsm) {
super(gsm);

sprites = new Sprite[2];
for (int i = 0; i < 2; i++) {
sprites[i] = new Sprite(new Texture(LINE));
// both lines starting at the same X and Y
sprites[i].setPosition(20, 50);
// both lines have the same size
sprites[i].setSize(100, 2);
// guess i might be messing up here
sprites[i].setOrigin(sprites[i].getX(), sprites[i].getY());
}

// for testing purposes
sprites[0].setRotation(-20);
sprites[1].setRotation(45);
}

@Override
public void render(SpriteBatch batch) {
batch.setProjectionMatrix(camera.combined);
batch.begin();
for (Sprite sprite : sprites)
sprite.draw(batch);
batch.end();
}


Any help on this would be appreciated, thanks in advance.

• Returns the function "sprites[x].getX()" its corner X coordinate? If not, the origin should be set on it's corner point to get the correct rotation; Nov 19, 2015 at 23:55
• @AhmetZambak i'm not sure if that's what you're asking, but sprites[x].getX() returns 20, wich is the X value i applied in the line before. I thought that, by starting there, the X value wouldn't be moddified, just the sprite's rotation. Nov 20, 2015 at 13:14

// guess i might be messing up here