Codificar un juego tipo Space Invaders para Android: Parte 5

Dandole control al jugador

En el siguiente bloque de códigos, muestro todo el método de onTouchEvent incluyendo el código que enriquecimos cerca del inicio del proyecto. En el, puedes ver que establecimos paused a falso en ACTION_DOWN case. También en ACTION_DOWN case detectamos cualquier toque en el octavo inferior de la pantalla (if(motionEvent.getY() > screenY - screenY / 8)) luego probar mas adelante en cual lado de la pantalla fué el toque y llamar setMovementState con el apropiado public final int para actualizar en que dirección va a viajar la nave espacial del jugador.

Después de esto, todavía en ACTION_DOWN case detectamos si algún toque ocurrió ARRIBA del octavo inferior de la pantalla (if(motionEvent.getY() > screenY - screenY / 8)) y si es así, llamamos a shoot en bullet pasandole las coordenadas de la parte superior central de la nave espacial del jugador. Si shoot regresa true entonces una bala es lanzada y un efecto de sonido se reproduce.

En el siguiente case,ACTION_UP simplemente detenemos el movimiento de la nave espacial al pasar STOPPED a setMovementState.

Ahora puedes ejecutar el juego, y mover la nave espacial al mantener la parte baja de la pantalla a la izquierda o a la derecha. Además, si tocas ligeramente en cualquer lado que esté por arriba del octavo inferior de la pantalla, la nave espacial del jugador disparará una bala. También reproducirá el efecto de sonido de un laser disparado.

Vamos a darle al jugador algo a lo que le pueda disparar.