在一个精灵中组合两个精灵(Libgdx)

时间:2012-09-22 19:10:09

标签: android libgdx

我想把两个精灵组合成一个。 例如:

private Sprite spriteGirl;
private Sprite spriteSweater;
private Sprite spriteDressed; 
..................................................................
atlas = new TextureAtlas(Gdx.files.internal("data/images.pack"));

spriteGirl = atlas.createSprite("girl");
spriteSweater = atlas.createSprite("sweater");
...................................................................

“spriteSweater”应该放在sprite“spriteGirl”上(在某些坐标中)。这个组合是精灵“spriteDressed”。

在此之后,生成的精灵“spriteDressed”可以设置动画。

我宁愿单独移动“spriteDressed”而不是“spriteGirl”和“spriteSweater”。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我创建了一个复合类,用于保存和管理由它组成的精灵。

public class CompositeSprite {

    Array<Sprite> componentSprites;

    public CompositeSprite() {
        componentSprites = new Array<Sprite>();
    }

    public void addComponentSprite(Sprite sprite) {
        componentSprites.add(sprite);
    }

    // ... other methods left out for brevity

    public void draw(SpriteBatch spriteBatch) {
        for (Sprite sprite : componentSprites) {
            sprite.draw(batch)
        }
    }

}