java - 如何像在 Cocos2d 中那样在 Libgdx 中将子图像添加到 Sprite 中?

标签 java android libgdx

当我学习 Libgdx 时,我遇到了在 Libgdx 中向父 Sprite 添加子 Sprite 的问题,就像我在 Cocos2d 中做了同样的事情一样,这样做没有问题。 如何在Libgdx中实现同样的功能,以便我可以对父 Sprite 执行操作,然后将添加到它的子 Sprite 。

编辑:我在https://github.com/libgdx/libgdx/wiki/Scene2d上看到了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() {}}

即将出现无图像的白屏

最佳答案

您可以使用 scene2d 和 actor ( https://github.com/libgdx/libgdx/wiki/Scene2d )。但这需要您(可能)重写应用程序的部分内容。

如果您的图像是静态的并且不会改变,我建议您使用帧缓冲区将子级绘制在父级之上。如果性能良好,那就最好了。

编辑:博客文章http://www.gamefromscratch.com/post/2013/12/11/LibGDX-Tutorial-3C-Scene-management.aspx有一个非常好的团体示例。

关于java - 如何像在 Cocos2d 中那样在 Libgdx 中将子图像添加到 Sprite 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25198994/

相关文章:

android - 如何构建 AAR 和示例应用程序

java - Android小游戏-延迟代码

android facebook 集成在线好友和发送收件箱消息

java - Libgdx,我可以在 Body 中附加动画吗?

java - 将我们自己的对象保存为 TreeMap 中的键

java - 离线使用 jib maven 插件构建 docker 容器的问题

java - @Autowired 不能在可运行的内部工作

java - 内存数据库 close()

java - Label.setScale 和 Label.setFontScale 之间的区别?

java - 使用 gradle 生成一个链接 LibGDX 项目 Assets 的 JAR 文件