Ahora explicare la estructura
básica para el desarrollo con AndEngine. Primero que nada veamos uno a uno los
métodos que son heredados desde BaseGameActivity.
Ya sabemos que primero hay que
definir que nuestra clase herede de BaseGameActivity, ya que este es el corazón
del juego. Esta clase contiene un engine para una activity y que se encarga de
crear un SurfaceView que es donde el contenido
que se genere será dibujado.
Para cada BaseGameActivity existe
un engine y para ir de un BaseGameActivity a otro debemos usar los Intents (que
es la forma de llamar una activity desde otra, un ejemplo de esto es cuando una
aplicación de android llama a la aplicación de la agenda para mostrar los
contactos, eso es un intent).
Para visualizar mejor estos métodos veremos un código para
que se pueda comprender un poco mejor.
public class AndEngineTest extends BaseGameActivity {
//Seteamos el tamaño de la pantalla
private static final int CAMERA_WIDTH = 720;
private static final int CAMERA_HEIGHT = 480;
private static final int CAMERA_WIDTH = 720;
private static final int CAMERA_HEIGHT = 480;
//Instanciamos una camara
private Camera mCamera;
private Camera mCamera;
//Este metodo se encarga de inicializar el Engine (Luego lo retorna)
@Override
public Engine onLoadEngine() {
@Override
public Engine onLoadEngine() {
//Creamos la camara con los datos de la pantalla
this.mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
//Retornamos el engine
this.mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
//Retornamos el engine
return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), this.mCamera));
}
}
//Aca cargaremos los recursos necesarios para el juego como imágenes, sonidos, fuentes...
@Override
public void onLoadResources() {
}
@Override
public void onLoadResources() {
}
//Aca se preparan todos los objetos que entraran en el juego (o en este nivel por lo menos)
@Override
public Scene onLoadScene() {
final Scene scene = new Scene(1);
return scene;
}
@Override
public Scene onLoadScene() {
final Scene scene = new Scene(1);
return scene;
}
//Este método se ejecuta después que los métodos anteriores estén listos
@Override
public void onLoadComplete() {
@Override
public void onLoadComplete() {
}
onLoadEngine() -> Este método se encarga de definir la cámara, además podemos verificar que los recursos del dispositivos cumplan los requerimientos de nuestra aplicación ente otras cosas.
onLoadResources()
-> Acá se encarga de designar y crear objetos bitmaps, textures, imágenes,
audio, etc. En este método es que cargaremos todos los recursos que vayamos a
utilizar en nuestra aplicación.
Scene onLoadScene()
-> En este método lo que
haremos es cargar todos nuestros recursos a la scene, aquí es donde se
desarrollara el juego.
onLoadComplete()
-> Este método se ejecuta después
de que los 3 anteriores estén listos.
Algunos conceptos a manejar
Sprite : Los Sprites son todos los elementos que se van a utilizar en el juego
como ser los personajes, enemigos, bloques, botones, etc. Existen dos tipos en
esta libreria que son:
- Sprite: Estas son una imagen simple.
- AnimatedSprite: Es un Sprite pero compuesto de imágenes, con estos podemos formar efectos gif.
Camera : Esta clase contiene el ancho y largo de la pantalla, la forma en la cual trabajaremos LANDSCAPE para horizontal y PORTRAIT para trabajar en vertical, ademas de que podemos configurarla para que se adecue a cualquier pantalla ya sea de un smartphone o de una tablet.
Scene: La clase escena es como su nombre lo indica, el lugar donde colocaremos los sprites, y es donde se va a desplegar nuestra aplicación.
BitMap : Es un mapa de bits que contiene las imagenes que vayamos a utilizar, esta solo las contiene de forma abstracta, ya que la clase que veremos a continuacion es quien las proyecta sobre nuestra Scene.
Texture : Es la clase que contiene las imagenes, y estas pueden tomar una subdivision del BitMap pueden ser de dos tipos:
- Normales : Que maneja un bitmap que contiene una sola imagen.(estas manejan las imagenes de la clase Sprite )
- Tiled : Que maneja un bitmap que contiene dos o mas imagenes(estas manejan las imagenes de la clase AnimatedSprite ).
Engine : En si esta clase contiene a todas las mencionadas y es la principal.
- Sprite: Estas son una imagen simple.
- AnimatedSprite: Es un Sprite pero compuesto de imágenes, con estos podemos formar efectos gif.
Camera : Esta clase contiene el ancho y largo de la pantalla, la forma en la cual trabajaremos LANDSCAPE para horizontal y PORTRAIT para trabajar en vertical, ademas de que podemos configurarla para que se adecue a cualquier pantalla ya sea de un smartphone o de una tablet.
Scene: La clase escena es como su nombre lo indica, el lugar donde colocaremos los sprites, y es donde se va a desplegar nuestra aplicación.
BitMap : Es un mapa de bits que contiene las imagenes que vayamos a utilizar, esta solo las contiene de forma abstracta, ya que la clase que veremos a continuacion es quien las proyecta sobre nuestra Scene.
Texture : Es la clase que contiene las imagenes, y estas pueden tomar una subdivision del BitMap pueden ser de dos tipos:
- Normales : Que maneja un bitmap que contiene una sola imagen.(estas manejan las imagenes de la clase Sprite )
- Tiled : Que maneja un bitmap que contiene dos o mas imagenes(estas manejan las imagenes de la clase AnimatedSprite ).
Engine : En si esta clase contiene a todas las mencionadas y es la principal.






