Tutorial 5 - Haciendo Juegos para android con Andengine
Buenas noches, no podia faltar el tutorial de hoy no? Ok, empecemos. Hasta este dia, sabemos como conseguir movimiento en nuestros juegos a traves de los eventos touch, pero y que si queremos movimiento automático. La respuesta es una pregunta jaja. Si es una pregunta muy comun sobre andengine: ¿Donde está el metodo update?
Update yace en algún lugar que no esta a nuestro alcance directamente, pero si indirectamente a traves de el metodo onManagedUpdate() que está sobreescrita en cada entidad(Si quieren entender sobre entidades dirijanse aquí).
¿Cómo? Así:
[code language="java"]
Sprite miSprite = new Sprite(x,y,miTextura,getVertexBufferObjectManager()){
@Override
protected void onManagedUpdate(float pSecondsElapsed) {
// Aquí, lo que quieren modificar en cada update que esta entidad recibe
//a traves del hilo update principal
super.onManagedUpdate(pSecondsElapsed);
};
[/code]
En nuestro ejemplo anterior, tenemos un sprite al que podemos añadirle algun comportamiento más sobreescribiendo este método:
Agreguenle estas lineas al accesorio que pusimos en la cabeza del personaje en el ejemplo anterior :D
[code language="java"]
accesorioSprite = new Sprite(charSprite.getWidth()*0.5f, charSprite.getHeight(), texturaAcc, getVertexBufferObjectManager()){
@Override
protected void onManagedUpdate(float pSecondsElapsed) {
accesorioSprite.setRotation(accesorioSprite.getRotation() + rotacionAccesorio);
if(accesorioSprite.getRotation() > 10.5f)
rotacionAccesorio*=-1;
if(accesorioSprite.getRotation() < -10.5f)
rotacionAccesorio*=-1;
super.onManagedUpdate(pSecondsElapsed);
}
};
[/code]
El metodo update del hilo principal, envia una actualización a cada entidad en el motor de juego, cada vez que se ejecuta una vez. Todas las entidades pueden sobreescribir este metodo y conseguir comportamientos individuales. Es muy útil, no?
Pronto, haré un tutorial sobre un juego completo, no duden en darme ideas!
El resultado es este:
Update yace en algún lugar que no esta a nuestro alcance directamente, pero si indirectamente a traves de el metodo onManagedUpdate() que está sobreescrita en cada entidad(Si quieren entender sobre entidades dirijanse aquí).
¿Cómo? Así:
[code language="java"]
Sprite miSprite = new Sprite(x,y,miTextura,getVertexBufferObjectManager()){
@Override
protected void onManagedUpdate(float pSecondsElapsed) {
// Aquí, lo que quieren modificar en cada update que esta entidad recibe
//a traves del hilo update principal
super.onManagedUpdate(pSecondsElapsed);
};
[/code]
En nuestro ejemplo anterior, tenemos un sprite al que podemos añadirle algun comportamiento más sobreescribiendo este método:
Agreguenle estas lineas al accesorio que pusimos en la cabeza del personaje en el ejemplo anterior :D
[code language="java"]
accesorioSprite = new Sprite(charSprite.getWidth()*0.5f, charSprite.getHeight(), texturaAcc, getVertexBufferObjectManager()){
@Override
protected void onManagedUpdate(float pSecondsElapsed) {
accesorioSprite.setRotation(accesorioSprite.getRotation() + rotacionAccesorio);
if(accesorioSprite.getRotation() > 10.5f)
rotacionAccesorio*=-1;
if(accesorioSprite.getRotation() < -10.5f)
rotacionAccesorio*=-1;
super.onManagedUpdate(pSecondsElapsed);
}
};
[/code]
El metodo update del hilo principal, envia una actualización a cada entidad en el motor de juego, cada vez que se ejecuta una vez. Todas las entidades pueden sobreescribir este metodo y conseguir comportamientos individuales. Es muy útil, no?
Pronto, haré un tutorial sobre un juego completo, no duden en darme ideas!
El resultado es este:
Comentarios
Publicar un comentario