1 - Hola Mundo en Andengine

Primer Ejemplo: Hola Mundo en Andengine


Este es un tutorial de como armar un proyecto básico en eclipse con Andengine para desarrollo gamming, un HolaMundo.

 

Dejo en este link el proyecto terminado para futura consulta o referencia: Descargar Codigo Fuente Capitulo 1


Importante antes de empezar

Antes de comenzar con este capítulo del curso se recomienda leer la página "Curso de Andengine" donde se da una base de la definicion la estructura de este Engine, para que luego podamos comprenderlo mucho mejor a la hora de utilizarlo.

Primer Paso: Descargar la Librería.


1) Descargar Librería andengine.jar para luego tenerla para los proyectos: Descargar andengine.jar

 Segundo paso Creamos nuestro Hola Mundo en Andengine


  1. En eclipse creamos un nuevo proyecto de Android: en el package Explorer de Eclipse, click derecho, new / android project.
En el nombre le colocaremos HolaAndengine, y el paquete com.andengine.hola click en finish.

2. Crear carpeta libs dentro del proyecto y copiar la libreria andengine.jar.

3. Vamos a referenciar la libreria a nuestro proyecto HolaAndengine. Click derecho al proyecto HolaAndengine, build path/ Configure Build Path / En el ListBox de Library le añadimos el proyecto base bajado mediante Git anteriormente, ya en nuestro workspace.


2. Buscamos la clase HolaAndengineActivity que nos ha creado y modificamos para que ahora , en lugar de extender de Activity , se extienda de "BaseGameActivity", luego ctrl+shift+o, para resolver los imports necesarios. Luego doble click en el error que nos marca eclipse, e implementamos los metodos automaticamente.

3) Colocamos la Camara.

public class HolaAndengineActivity extends BaseGameActivity {
private static final int CAMERA_WIDTH = 320;
private static final int CAMERA_HEIGHT = 480;
 
private Camera mCamera;

Resolvemos los imports necesarios siempre tomando de Andengine library.

4)  Programamos el Metodo onLoadEngine. Aca nos encargamos de inicializar el engine del Juego. Crear la camara, crear el Engine.

@Override
public Engine onLoadEngine() {
//Nos encargaremos de inicializar el Engine del juego, ya que lo debemos devolver.
//Creamos la cámara con la resolución que le habíamos dado a la pantalla de juego.
this.mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
 
 
//Devolvemos el Engine creado, al cual le hemos indicado que el juego se desarrollará sosteniendo el movil en
//posición horizontal (ScreenOrientation.LANDSCAPE), 
//además de indicarle que queremos que la pantalla de juego no se deforme
//si se ejecuta en un terminal con una tasa de aspecto distinta.
 return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), this.mCamera));
}

5) Programamos el méodo onLoadScene, donde allí prepararemos todos los objetos que entraran en el juego. En este caso crearemos una escena vacía y la devolvemos. 



@Override
public Scene onLoadScene() {
//Aquí prepararemos todos los objetos que entraran en juego.
// En este caso, crearemos una escena vacía y la devolvemos (al Engine).
final Scene scene = new Scene(1);

// Ponemos el fondo de color blanco
 scene.setBackground(new ColorBackground(1f,1f,1f));
 
 // Creamos una línea y un rectándulo
 final Line linea = new Line(0f, 0f, 720f, 480f, 1);
 final Rectangle rectangulo = new Rectangle(180f, 60f, 360f, 360f);
 
 // Establecemos los colores
 linea.setColor(1f, 0f, 0f);
 rectangulo.setColor(0f, 0f, 1f);
 
 // Añadimos las primitivas a la capa superior de la escena. El objeto scene recibe cualquier entity de andengine.
 scene.getLastChild().attachChild(linea);
 scene.getLastChild().attachChild(rectangulo);
 
return scene;
}

@Override
public void onLoadComplete() {
// se ejecutará una vez haya finalizado el método anterior.

@Override
public void onLoadResources() {
//Aquí cargaremos las imágenes, música, sonidos, fuentes, etc.
}

Ejecutando el resultado en el emulador

1) Click derecho al proyecto / run us / Android Aplication
   
2) Deberíamos ver este  dibujo