当我学习Libgdx时,我遇到了在Libgdx中向父精灵添加子精灵的问题,因为我在Cocos2d中做了同样的事情,它没有问题。 如何在Libgdx中实现相同的功能,以便我可以对父精灵执行操作,然后将子项添加到其中。
编辑:我在scene2d的https://github.com/libgdx/libgdx/wiki/Scene2d
看过,但他们没有提到如何使用Group。
这是我之前尝试过的,但即将推出的白色屏幕
public class TestScreen implements Screen{
private MainGame game;
private Sprite sprite;
public Group group;
private Stage stage;
private SpriteBatch batch;
public TextureAtlas atlas1;
public Skin skin;
public Image bg;
public Sprite sprite1;
public TestScreen(MainGame game)
{
this.game=game;
group = new Group();
batch = new SpriteBatch();
circle=AssestLoader.circle1;
}
@Override
public void render(float delta)
{
// TODO Auto-generated method stub
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
stage.act(delta);
batch.begin();
stage.addActor(group);
batch.end();
}
@Override
public void show() {
// TODO Auto-generated method stub
atlas1 = new TextureAtlas("test/gamescreentest.pack");
skin = new Skin();
skin.addRegions(atlas1);
bg = new Image();
bg.setDrawable(skin, "playbg_hdpi");
bg.setHeight(460f);
bg.setWidth(460f);
group.addActor(bg);
}
@Override
public void hide() {}
@Override
public void resize(int width, int height) {}
@Override
public void pause() {}
@Override
public void resume() {}
@Override
public void dispose() {}}
即将出现的白色屏幕没有图像
答案 0 :(得分:1)
您可以使用scene2d和actors(https://github.com/libgdx/libgdx/wiki/Scene2d)。但这需要你(可能)重写部分应用程序。
如果您的图片是静态的并且不会改变,我建议您使用帧缓冲区在父母的上面画一个孩子。在性能方面,这是最好的。
编辑:http://www.gamefromscratch.com/post/2013/12/11/LibGDX-Tutorial-3C-Scene-management.aspx上的博客文章有很好的群组示例。