AndEngine background image

11,589

you need delete :

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}
Share:
11,589
Mob
Author by

Mob

Updated on June 04, 2022

Comments

  • Mob
    Mob about 2 years

    recently I started working on AndEngine. Hard to find up-to-date documentation / helping material in this regard. I am trying to set a background image after going through examples & source code. But for some reason the screen remains blank. I am unable to find any useful info related to this. Here is the code:

    public class AndEngineActivity extends BaseGameActivity {
    
        private static final int CAMERA_WIDTH = 720;
        private static final int CAMERA_HEIGHT = 480;
    
        private Camera mCamera;
        private TextureRegion mBgTexture;
        private BitmapTextureAtlas mBackgroundTexture;
    
    
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        }
    
        @Override
        public Engine onLoadEngine() {
            // TODO Auto-generated method stub
            this.mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
            return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), this.mCamera));
        }
    
        @Override
        public void onLoadResources() {
            // TODO Auto-generated method stub
            BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
    
            this.mBackgroundTexture = new BitmapTextureAtlas(1024, 1024, TextureOptions.DEFAULT);
            mBgTexture = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mBackgroundTexture, this, "background.png", 0, 0);
    
            this.mEngine.getTextureManager().loadTextures(this.mBackgroundTexture);
    
        }
    
        @Override
        public Scene onLoadScene() {
    
            this.mEngine.registerUpdateHandler(new FPSLogger());
    
            final Scene scene = new Scene();
            final int centerX = (CAMERA_WIDTH -
                    mBgTexture.getWidth()) / 2; final int centerY = (CAMERA_HEIGHT -
                    mBgTexture.getHeight()) / 2;
            SpriteBackground bg = new SpriteBackground(new Sprite(centerX, centerY, mBgTexture));
            scene.setBackground(bg);
    
            return scene;
        }
    
        @Override
        public void onLoadComplete() {
            // TODO Auto-generated method stub
    
        }
    }
    
  • Mob
    Mob over 12 years
    Hi, i appreciate the response but I tried that too and it didn't help. Am I missing something? Anymore ideas?
  • Mob
    Mob over 12 years
    Good news finally got it. as can be seen in the attached code above the onCreate(..) method is overwriting the layout. i removed the method and it's working now.
  • bos
    bos over 12 years
    Well, yes, you don't want to have that :-)
  • Ashraf Sayied-Ahmad
    Ashraf Sayied-Ahmad over 11 years
    He forgot to remove the setContent function call which overrides the surface view