Bienvenidos sean a este post, hoy comenzaremos con nuestro quinto proyecto o juego que no sera otra cosa que un juego de naves.
En este caso vamos a interactuar con varios elementos porque tendremos a nuestro heroe manejando su nave espacial, haremos un fondo que se movera en conjunto con nuestra nave, tendremos tres tipos distintos de enemigos, cada uno con sus acciones, haremos una pantalla para iniciar el juego, tambien tendremos un HUD o una interfaz para manejar a nuestra nave en pantalla y tambien tendra la posibilidad de dispararles, si bien tendremos muchos de los temas que hemos visto anteriormente para este caso veremos algunos temas particulares y tambien organizaremos a nuestros elementos de una mejor manera para que todo funcione de manera perfectirijilla.
Entre los temas que veremos son los patrones de diseños, estos elementos que existen para facilitar la vida de los programadores, esto es debido a que existen perfectamente documentados en distintos tipos de media, ya sea desde libros hasta websites, tambien poseen nombres asi que podemos encontrar informacion de manera muy practica, hay un monton de patrones pero estos son algunos de los que utilizaremos:
- Observador (Observer)
- Estrategia/Componente-entidad (Strategy/Entity-component)
- Singleton
- Fabrica (Factory)
Alguna de las ventajas de usar patrones de diseño, es que nos permite implementar de forma practica algunos temas que ya hemos visto como:
- Reusar codigo
- Usar encapsulacion
- Diseñar clases que representen elementos
- Permitir interaccion de grupos de clases
Lo bueno de este tema es que ademas se utilizan en muchas variedades de lenguajes y la clave es discutir que problemas pueden resolvernos cada patron de diseño, entonces cuando veas alguna falla en tu codigo puedes ir a investigar alguno en particular para ayudarte.
Para comenzar crearemos un nuevo proyecto con las siguientes caracteristicas:
- Dispositivos: Phone and Tablet
- Actividad: Empty Activity
- Nombre: Invasores del Espacio
- Nombre de paquete: org.example.invasores
- API Minimo: API 14 (Android 4.0)
Con esto creamos la base de nuestro juego, nuestro siguiente paso sera renmobrar la clase MainActivity a ActividadJuego, para ello deben hacer click con el boton derecho sobre la clase MainActivity y seleccionar Refactor -> Rename, aparecera un nuevo cuadro y en este donde dice MainActivity lo modifican por ActiviadJuego y presionan Refactor, una vez terminado debera aparecerles con el nuevo nombre y el codigo modificado, nuestro siguiente paso sera modificar el archivo de manifiesto (AndroidManifest.xml) donde al tag donde se define nuestra actividad principal:
<activity android:name=".ActividadJuego">
Lo modificaremos de la siguiente manera:
<activity android:name=".ActividadJuego"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:screenOrientation="landscape">
Con esto nos quedara de pantalla completa y a su vez forzara a que la vista sea horizontal o apaisada (landscape), para nuestro siguiente post iremos agregando las clases y recursos que vayamos necesitando.
En resumen, hoy hemos establecido cual va a ser el quinto proyecto, que vamos a utilizar, que tema vamos a incorporar a todo lo visto hasta ahora, como nos pueden facilitar algunas tareas y hemos creado el proyecto, paciencia que se va a poner entretenido, espero les haya gustado sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.
Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes donar
Es para mantenimiento del sitio, gracias!
$1.00