However, I can't seem to get this one right. The screen is 240x320 (W x H) and splash screen texture is 480x640 so i'm scaling it down to fit the screen. Texture loading etc is working fine, but when the sprite is shown I first see the large texture for 0.1secs, then it gets scaled down. I want it to get scaled down prior shown. Been trying everything, moved the call to attachChild() to onLoadComplete(), using setVisible(false), etc but I see the texture getting scaled down everytime.
Why?
Here's my code:
Using java Syntax Highlighting
- @Override
- public Scene onLoadScene() {
- this.scene = new Scene();
- // Texture sizes
- final int sX = mSplashTextureRegion.getWidth();
- final int sY = mSplashTextureRegion.getHeight();
- // Center on camera
- final int cX = (CAMERA_WIDTH - sX) / 2;
- final int cY = (CAMERA_HEIGHT - sY) / 2;
- // Scale factor according to camera
- final float scaleFactor = Math.min((float) CAMERA_WIDTH / sX, (float) CAMERA_HEIGHT / sY);
- // Init sprite
- splashScreen = new Sprite(cX, cY, mSplashTextureRegion);
- splashScreen.setVisible(false);
- // Rescale the splash-screen to fit the display, move it to (0, 0) and show it.
- //splashScreen.registerEntityModifier(new ScaleAtModifier(0.001f, 1.0f, scaleFactor, 0, 0));
- splashScreen.registerEntityModifier(new ScaleModifier(0.1f, 1.0f, scaleFactor));
- // splashScreen.registerEntityModifier(new SequenceEntityModifier(
- // new ScaleModifier(0.1f, 1.0f, scaleFactor),
- // new DelayModifier(0.2f)
- // ));
- return scene;
- }
- @Override
- public void onLoadComplete() {
- scene.attachChild(splashScreen);
- splashScreen.setVisible(true);
- }
Parsed in 0.034 seconds, using GeSHi 1.0.8.4

