jueves, 22 de noviembre de 2012

Tutorial Vertical AutoParallax Background AndEngine GLES 2.0

Se realiza muy parecido al tutorial anterior. El problema es que Andengine solo tiene para AutoParallax horizontal, pero he creado dos clases nuevas que pegándolas en nuestro proyecto  AndEngine, que tenemos como librería nos permitirá hacerlo. Las clases las descargáis de mi pagina en GitHub y las pegáis en AndEngine/src/org.andengine.entity.scene.background. En vuestro proyecto cambiar AutoParallaxBackground  por VerticalAutoParallaxBackground y ya se moverá verticalmente.
Aquí os pego el código del ejemplo anterior modificado para que se mueva verticalmente.

public class BaseActivity extends SimpleBaseGameActivity {

private static final int CAMERA_WIDTH = 800;
private static final int CAMERA_HEIGHT = 480;


private BitmapTextureAtlas mAutoParallaxBackgroundTexture;
private ITextureRegion mParallaxFondo;




public EngineOptions onCreateEngineOptions() {
final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
return new EngineOptions(true, ScreenOrientation.LANDSCAPE_FIXED, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);
}

@Override
public void onCreateResources() {
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
this.mAutoParallaxBackgroundTexture = new BitmapTextureAtlas(this.getTextureManager(),800, 480, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
this.mParallaxFondo = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mAutoParallaxBackgroundTexture, this, "fondoAP.png", 0,0);
this.mAutoParallaxBackgroundTexture.load();


}

@Override
public Scene onCreateScene() {
this.mEngine.registerUpdateHandler(new FPSLogger());

final Scene scene = new Scene();
final VerticalAutoParallaxBackground autoParallaxBackground = new VerticalAutoParallaxBackground(0,0,0,20);
final VertexBufferObjectManager vertexBufferObjectManager = this.getVertexBufferObjectManager();
autoParallaxBackground.attachParallaxEntity(new ParallaxEntity(5.0f, new Sprite(0, 0, this.mParallaxFondo, vertexBufferObjectManager)));
scene.setBackground(autoParallaxBackground);

return scene;
}
}

2 comentarios:

  1. No está nada mal, pero unas imágenes o pequeños videos con los resultados lo mejorarían bastante.
    Enhorabuena por los tutoriales, espero que sigas así!

    ResponderEliminar
  2. Hola, enhorabuena por el blog, estoy intentando usar estas modificaciones pero no consigo que la imagen que he puesto de fondo ademas de hace el scroll vertical, se escale horizontalmente ya que esta es un poco mas pequeña que la resolucion. ¿Podrias echarme una mano?

    ResponderEliminar