添加背景到Andengine场景Android

时间:2012-06-07 14:22:34

标签: android background andengine scene

我想设置我的场景背景,但我不知道怎么做!我已经阅读了很多关于此的内容,但我无法使其成功。我是Andengine的开始,很难找到我的问题的准确信息,一切都是主观的。

好吧,我已经在场景中实现了启动画面,同时加载了所有资源和场景。 (https://sites.google.com/site/matimdevelopment/splash-screen---easy-way)

然后,我必须为我的menuScene设置一个背景,我认为我需要一个TextureRegion和一个BitmapTextureAtlas来创建每个背景。我这样做:

声明纹理:

    //Fondo escenas
private TextureRegion menuBgTexture;
private BitmapTextureAtlas menuBackgroundTexture;

加载资源和加载场景(当Splash结束时,它们由onPopulateScene调用)

public void loadResources() 
{
    //FondoMenu
    menuBackgroundTexture = new BitmapTextureAtlas(null, 480, 320, TextureOptions.DEFAULT);
    menuBgTexture = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.menuBackgroundTexture, this, "menubg.png", 0, 0);
    //Cargamos los fondos
    mEngine.getTextureManager().loadTexture(this.menuBackgroundTexture);

}

private void loadScenes()
{
    //Menú
    menuScene = new Scene();
    final float centerX = (CAMERA_WIDTH - menuBgTexture.getWidth()) / 2;
    final float centerY = (CAMERA_HEIGHT - menuBgTexture.getHeight()) / 2;
    SpriteBackground bg = new SpriteBackground(new Sprite(centerX, centerY, menuBgTexture));
    menuScene.setBackground(bg);
    //menuScene.setBackground(new Background(50, 0, 0));
    //Options
    optionsScene = new Scene();
    //Juego
    gameScene = new Scene();
    //Pausa
    pauseScene = new Scene();
    //Gameover
    gameOverScene = new Scene();
}

load资源不显示错误,但loadScenes,Line:         SpriteBackground bg = new SpriteBackground(new Sprite(centerX,centerY,menuBgTexture));

我说我必须设置一个新属性(ISpriteVertexBufferObject),那么这是什么?

2 个答案:

答案 0 :(得分:2)

对于VBOManager对象,请使用

this.getVertexBufferObjectManager();

答案 1 :(得分:1)

我的游戏也遇到了同样的问题。解决方案是使背景图像与相机具有相同的尺寸。例如,如果您的相机是800X480,则图像也应具有相同的尺寸。另外,使BitmapTextureAtlas因子的维数为2。在你的情况下,它应该是512像素×512像素。希望有所帮助。

干杯!!