如何在AndEngine上更改背景纹理?

时间:2013-02-07 16:30:51

标签: android background andengine

我有背景纹理,并希望将其更改为其他背景纹理。我已经阅读并测试了一些关于背景纹理的样本,但第二个背景没有显示。

这是我用来尝试改变的最后一个代码......任何人都可以提供帮助吗? 感谢

    Scene scene1 = new Scene();
    ITexture backgroundTexture1 = null;
    try {
        backgroundTexture1 = new BitmapTexture(this.getTextureManager(), new IInputStreamOpener() {
            @Override
            public InputStream open() throws IOException {
                return getAssets().open("gfx/crackedscreen.png");
            }
        });
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    backgroundTexture1.load();
    this.mBackgroundTextureRegion1 = TextureRegionFactory.extractFromTexture(backgroundTexture1);
    Sprite backgroundSprite = new Sprite(0, 0, this.mBackgroundTextureRegion1, getVertexBufferObjectManager());
    scene1.attachChild(backgroundSprite);
    scene1.setBackgroundEnabled(true);
    return scene1;

1 个答案:

答案 0 :(得分:2)

我在使用Sprites更改背景时遇到了一些麻烦。我终于使用SpriteBackground取得了成功。只需从Sprite中创建一个:

SpriteBackground background = new SpriteBackground(backgroundSprite);

不要调用attachchild,而是调用setBackground:

scene.setBackground(background);