我想设置我的场景背景,但我不知道怎么做!我已经阅读了很多关于此的内容,但我无法使其成功。我是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),那么这是什么?
答案 0 :(得分:2)
对于VBOManager对象,请使用
this.getVertexBufferObjectManager();
答案 1 :(得分:1)
我的游戏也遇到了同样的问题。解决方案是使背景图像与相机具有相同的尺寸。例如,如果您的相机是800X480,则图像也应具有相同的尺寸。另外,使BitmapTextureAtlas因子的维数为2。在你的情况下,它应该是512像素×512像素。希望有所帮助。
干杯!!