viernes, 3 de agosto de 2012

Tutorial Sprite AndEngine GLES2

Lo primero que tenemos que hacer es configurar AndEngine GLES 2.0. Los pasos para ello los tenéis en el tutorial anterior. Tras esto creamos una carpeta en nuestro proyecto denominada assets y dentro de ella otra llamada gfx, e introducimos ahí nuestra imagen a cargar.
Ahora creamos tres variables. Una sera un BitmapTexture que es el lienzo donde introducimos nuestros sprites, otra sera una ITextureRegion y otro un objeto Sprite.
  1. private ITextureRegion mEnemigoTextureRegion;
  2. private BitmapTextureAtlas mBitmapTextureAtlas;
  3. public Sprite enemigo;
Ahora definiremos la camara en onCreateEngineOptions().


  1. final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
  2. return new EngineOptions(true, ScreenOrientation.LANDSCAPE_SENSOR, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);


En esta parte podemos definir antes las variables CAMERA_WIDTH y  CAMERA_HEIGHT antes, o introducir los datos directamenta en la función. Yo las he definido antes.


  1. private static final int CAMERA_WIDTH = 800;
  2. private static final int CAMERA_HEIGHT = 480;



Tras definir esto debemos cargar el BitmapTextureAtlas y la TextureRegion  en onCreateResources(). introducciendo lo siguiente:


  1. BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
  2. this.mBitmapTextureAtlas = new BitmapTextureAtlas(this.getTextureManager(), 128, 128, TextureOptions.BILINEAR);
  3. this.mEnemigoTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mBitmapTextureAtlas, this, "enemigo.png", 0, 0);
  4. this.mBitmapTextureAtlas.load();


Las dimesiones de el BitmapTextureAtlas deben ser mayores a la imagen que tenemos en nuestra carpeta gfx.  y al final de onCreateResources() introducimos this.mBitmapTextureAtlas.load(); para que la cargue.
Mas tarde tendremos que definir la escena.

  1. final Scene escena = new Scene();

y por ultimo definimos la posición de nuestro Sprite e iniciamos la escena.

  1. enemigo = new Sprite(400, 200, this.mEnemigoTextureRegion, this.getVertexBufferObjectManager());
  2.  escena.attachChild(enemigo);
  3. return escena;

Y con esto ya tenemos nuestro Sprite en la pantalla.

No hay comentarios:

Publicar un comentario