5

我想设置我的场景背景,但我不知道如何设置!我已经阅读了很多关于此的内容,但我无法使其正常工作。是我从 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();
}

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

说我要设置一个新属性(ISpriteVertexBufferObject),嗯,这是什么?

4

2 回答 2

2

对于 VBOManager 对象,使用

this.getVertexBufferObjectManager();
于 2012-06-07T15:04:14.603 回答
1

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

干杯!!

于 2014-01-28T21:16:03.673 回答