2

我想将两个精灵合二为一。例如:

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”应该放置在精灵“spriteGirl”上(在某些坐标中)。这个组合就是精灵“spriteDressed”。

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

我宁愿分别移动“spriteDressed”而不是“spriteGirl”和“spriteSweater”。

非常感谢任何帮助。

4

1 回答 1

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)
        }
    }

}
于 2012-09-22T21:20:02.907 回答