martes, 18 de diciembre de 2012

Tutorial Boton Sprite AndEngine GLES 2.0

Aquí os traigo un tutorial muy sencillo, que explica como crear un botón en AndEngine GLES 2.0.
Hay varias maneras de hacerlo, como lo defino en este tutorial o creando un menú. El tema de crear menús lo tratare en el siguiente tutorial.
Empezamos creando nuestro proyecto AndEngine y metiendo un sprite en la carpeta assets como se explica en un tutorial anterior.
Luego en nuestra clase que extiende a SimpleBaseGameActivity definimos las variables que vamos a utilizar:
private static final int CAMERA_WIDTH = 800;
private static final int CAMERA_HEIGHT = 480;
private BitmapTextureAtlas mBitmapTextureAtlas;
private ITextureRegion mBotonTextureRegion;
private ButtonSprite boton;
Las dos primeras son el ancho y el alto de la camara.
Las dos siguientes se utilizan para definir nuestro mapa de texturas y cargar nuestro archivo de imagen en una posición dentro de él.
Y la ultima define nuestro botón.

sábado, 1 de diciembre de 2012

Tutorial TMX Tiled Map AngEngine GLES 2.0

Lo primero que tenemos que hacer es importar la librería de AndEngine GLES 2.0 AndEngineTMXTiledMapExtension que se importa igual que nuestra librería de AndEngine pero cambiando el enlace. Este es el enlace que debéis poner: https://github.com/nicolasgramlich/AndEngineTMXTiledMapExtension.git
Pinchar aquí para ir al tutorial Instalar AndEngine.
Una vez que la tenemos importada creamos nuestro proyecto AndEngine. Ahora cliqueamos con el botón secundario encima de nuestro proyecto y vamos a propierties. Ahora nos vamos a Android y en la parte de abajo donde sale Library pulsamos add. Seleccionamos AndEngineTMXTiledMapExtension y ya tenemos en nuestro proyecto enlazada la librería.
Ahora vamos a crear nuestro Tiled Map. Yo utilizo el programa Tiled Map Editor que lo podeís descargar de http://www.mapeditor.org/ y es totalmente gratuito.
Tras instalarlo, abrimos el programa y nos vamos a editar-->preferencias. Y nos aseguramos que las capas de patrones se guardan como Base64(con compresión gzip).

jueves, 29 de noviembre de 2012

Formatear código Eclipse

Si tenemos código ya escrito y queremos ordenar las tabulaciones para facilitar la lectura, lo que tenemos que hacer es formatearlo. En Eclipse es muy sencillo, tenemos que hacer click en el botón secundario, ir a source y dentro de source darle a format. O bien pulsamos Ctrl+Shift+F y ya esta.
Y Así sera mas fácil el mantenimiento de nuestro código.
Un saludo.

Aplicaciones Android recomendadas: AIDE

En esta entrado os quiero recomendar la aplicación AIDE-Android Java IDE.
Esta aplicación sirve para crear aplicaciones directamente desde nuestro dispositivo Android. Esta especialmente pensada para tablets y es muy completa, ya que nos permite crear aplicaciones y probarlas en nuestro dispositivo directamente. Existe una versión de pago que cuesta 9.99€ cuya principal característica es que permite crear mas de cinco clases java.
Si queréis descargarla pinchar aquí.
Un saludo.

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.

Tutorial AutoParallax Background AndEngine GLES 2.0

En este tutorial vamos a crear un fondo que se desplaza horizontalmente generando una sensación de movimiento del fondo.
1.Creamos un proyecto para andengine GLES 2.0. Este tutorial lo explica.
2.En la carpeta assets/gfx introducimos nuestra imagen o imagenes de fondo, ya que se puede hacer composición de imagenes para nuestro fondo, con distintas velocidades de movimiento. Este ejemplo solo tiene una.

Esta es la imagen que vamos a utilizar 800x480.

martes, 20 de noviembre de 2012

Tutorial Sprite Animado AndEngine GLES 2.0

Empezamos creando un archivo .png que contenga el numero de imágenes para generar la animación.
Aquí teneís la imagen que voy a utilizar para el tutorial, que es un triangulo rotando.



Esta imagen contiene cuatro imágenes de 100x100 píxeles.
1.Lo primero es crear nuestro proyecto. Se crea como se explica en este tutorial.
2.Agregamos la imagen a la carpeta assets/gfx. Si no existen las creamos.
3.Definimos la anchura y altura de la cámara, así como un BuildableBitmapTextureAtlas y ITiledTextureRegion, dentro de nuestra clase.

private static final int CAMERA_WIDTH = 800;
private static final int CAMERA_HEIGHT = 480;
private BuildableBitmapTextureAtlas mBitmapTextureAtlas;
private ITiledTextureRegion mTrianguloTextureRegion;

miércoles, 14 de noviembre de 2012

Reinicio del Juego al bloquearse la pantalla AndEngine

La solución ha este problema es muy fácil, solo tenemos que introducir en Android Manifiest en la parte de la actividad que hemos creado lo siguiente:
android:configChanges="keyboardHidden|orientation"
Y con esto solucionamos el problema.
Aquí un ejemplo de Android Manifiest completo:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="borja.prueba"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".BaseActivity" 
            android:configChanges="keyboardHidden|orientation">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


martes, 2 de octubre de 2012

TimeHandler Andengine GLES 2.0.

En este tutorial vengo ha contaros como se utiliza TimeHandler de Andengine. Se trata de la repetición de un    método o código cada cierto tiempo. Es bastante sencillo ya se solo tiene una variable, que es cada cuanto tiempo en segundos se repite dicho código. Aquí tenéis el ejemplo de código:


private void metodo(){
       TimerHandler timeHandler;
       float tiempo = 1f;
       timeHandler = new TimerHandler(tiempo,true,new ITimerCallback(){
       public void onTimePassed(TimerHandler pTimerHandler) {
              codigo que queremos ejecutar cada cierto tiempo.
       }
       });
       
       getEngine().registerUpdateHandler(timeHandler);
}

La variable float tiempo es el intervalo de repetición de el código que queremos que se ejecute.
Bueno esto es todo.
Un saludo.

viernes, 3 de agosto de 2012

Tutorial Sprite Background AndEngine GLES 2.0

Colocar un Sprite de fondo se hace de la misma manera que colocar un Sprite en la pantalla. Casi todos los pasos son iguales al tutorial anterior si os dejo pegado el código y solo explico lo que es diferente.

  1. public class Main extends SimpleBaseGameActivity {
  2. private static final int CAMERA_WIDTH = 800;
  3. private static final int CAMERA_HEIGHT = 480;
  4. private ITextureRegion mFondoTextureRegion;
  5. private BitmapTextureAtlas mFondoTextureAtlas;
  6. public EngineOptions onCreateEngineOptions() {
  7. final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
  8. return new EngineOptions(true, ScreenOrientation.LANDSCAPE_SENSOR, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);
  9. }
  10. public void onCreateResources() {
  11. BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
  12. this.mFondoTextureAtlas = new BitmapTextureAtlas(this.getTextureManager(), 1500, 1500);
  13. this.mFondoTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mFondoTextureAtlas, this, "fondo.png", 0, 0);
  14. this.mFondoTextureAtlas.load();
  15. }

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;

jueves, 26 de julio de 2012

Tutorial Instalar AndEngine GLES2.0

Esta nueva versión de Andengine solo funciona con dispositivos con Android 2.2 o superior.

Lo primero que debemos hacer es actualizar la versión del ADT, ya que necesitamos la 17 o superior. Para actulizarla debemos ir a Help-->Check for updates.Mas tarde debemos instalar egit que es un plugin para eclipse. Vamos a Help-->Install New Software e introducimos la dirección  http://download.eclipse.org/egit/updates Y seleccionamos Egit.Tras instalarlo nos dirigimos a File-->Import-->Git-->Projects from Git y pulsamos Next. Ahora seleccionamos Uri y pulsamos Next. En la siguiente ventana en URI introducimos la dirección https://github.com/nicolasgramlich/AndEngine.git.Pulsamos Next.
En la siguiente ventana seleccionamos las tres pestañas que nos aparecen y pulsamos Next,
Tras esto nos pide que seleccionemos una carpeta donde guardarlos. Seleccionamos una localización fuera de nuestro espacio de trabajo. seleccionamos GLES2, como se observa en las imagenes de la parte inferior. 
Tras descargarse y guardarse en nuestra ubicación elegida, seleccionamos el proyecto y marcamos import existing projects. Y en la siguiente ventana seleccionamos AndEngine y le damos a Finish.




jueves, 19 de julio de 2012

Tutorial guardar datos android Shared Preferences

Utilizar Shared Prefences, es una forma de guardar variables en android sin tener que utilizar SQLite que seria mucho mas laborioso.
Para obtener una referencia a nuestras preferencias guardadas tenemos que llamar al método getSharedPreferences( ) y definir un contexto. El contexto puede ser:

         1. MODE_PRIVATE: De esta manera solo nuestra aplicación tiene acceso esas preferencias.
         2. MODE_WORLD_READABLE: Pueden ser leídas por cualquier aplicación pero escritas solo por               la nuestra.
         3. MODE_WORLD_WRITABLE: Pueden ser modificadas y leídas por cualquier aplicación.Ejemplo:
SharedPreferences preferencias = getSharedPreferences("Preferencias1",Context.MODE_PRIVATE);