Anuncios

Bienvenidos sean a este post, hoy comenzaremos nuestro cuarto juego y no va a ser otro que el mitico Snakeeeee!!!!

Anuncios
Anuncios

A diferencia de lo que creen vamos a intentar realizar un juego mitico en los primeros dispositivos moviles aunque es mucho mas antiguo de lo que la mayoria creen y este es el mitico Snake, algunos viejitos lo conocieron tambien como Nibbles.bas, donde basicamente tendremos una manzana por pantalla y nosotros tambien iniciaremos como un simple punto pero a medida que vayamos comiendo las manzanas iremos creciendo y tambien ocuparemos mas de la pantalla dificultando nuestro avance, en este juego perderemos si tocamos los bordes de la pantalla o nos mordemos.

Anuncios

Con esto aclarado comencemos con nuestro nuevo proyecto y lo crearemos con las siguientes caracteristicas:

  • Dispositivos: Phone and Tablet
  • Actividad: Empty Activity
  • Nombre: Snake
  • Nombre de paquete: org.example.snake
  • API Minimo: API 14 (Android 4.0)
Anuncios

Una vez creado nuestro proyecto debemos renombrar a MainActivity por SnakeActivity, haces click con el boton derecho sobre el archivo selecciona Refactor -> Rename, nos aparecera un cuadro y cambien el nombre por SnakeActivity, dejan todo como aparece y presionan Refactor, lo modificara y quedara con el nuevo nombre, nuestro siguiente paso sera crear tres clases, para ello deben hacer click con el boton derecho donde estan las clases de Java y seleccionan New -> Java Class cuando aparezca el cuadro deben modificarlo de la siguiente forma:

  • Nombre: Snake
  • Tipo: Class
Anuncios

Una vez generada nuestra clase debemos repetir el proceso para crear dos nuevas clases de la misma forma a las cuales las llamaremos:

  • Manzana
  • SnakeJuego
Anuncios

Al igual como hicimos en los proyectos anteriores vamos a modificar nuestro manifiesto (AndroidManifest.xml) donde modificaremos a la actividad principal para ello modificaremos este tag:

<activity android:name=".SnakeActivity">
Anuncios

Agregando estas dos propiedades:

        <activity android:name=".SnakeActivity"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:screenOrientation="landscape">
Anuncios

Con esto lo haremos a pantalla completa y en vista apaisada (landscape), esta va a ser nuestra unica modificacion en el manifiesto, por lo menos por ahora, nuestro siguiente paso sera agregar el codigo para SnakeActivity:

SnakeActivity.java

package org.example.snake;

import android.app.Activity;
import android.graphics.Point;
import android.os.Bundle;
import android.view.Display;

public class SnakeActivity extends Activity {

    SnakeJuego mSnakeJuego;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Display display = getWindowManager().getDefaultDisplay();
        Point tamano = new Point();
        display.getSize(tamano);
        mSnakeJuego = new SnakeJuego(this, tamano);
        setContentView(mSnakeJuego);
    }

    @Override
    protected void onResume(){
        super.onResume();
        mSnakeJuego.retomar();
    }

    @Override
    protected void onPause(){
        super.onPause();
        mSnakeJuego.pausar();
    }
}
Anuncios
Anuncios

En este caso lo primero que haremos es crear el objeto de nuestro engine, SnakeJuego, al cual lo llamaremos mSnakeJuego, nuestro siguiente paso sera ir a onCreate donde lo primero que haremos es crear el objeto display de tipo Display para obtener la pantalla predeterminada, despues crearemos un objeto de tipo Point llamado tamano y por ultimo por medio del metodo getSize del objeto display y con tamano obtendremos el tamaño de nuestra pantalla, esto es tal cual como lo vinimos haciendo hasta ahora, despues definiremos el objeto mSnakeJuego el cual quedara en error pero porque por el momento ese constructor no existe, lo siguiente es enviar a SetContentView este ultimo objeto, el cual quedara con error por el momento, luego tendremos dos metodos para manejar nuestro thread cuando el programa sale del primer plano, onPause, y el otro para cuando a estar en foco o en primer plano, onResume, tambien quedaran con errores porque los metodos todavia no existen, con esto ya tenemos nuestro SnakeActivity casi funcional, por ultimo vamos a agregar los efectos de sonido, para ello deben descargar el siguiente archivo:

Anuncios
Nota: Los sonidos los genere con BFxR si quieren generar otros pueden usarlo, para saber donde descargarlo y como usarlo les recomiendo este post.
Anuncios

Una vez descargado el archivo extraigan los dos archivos en alguna carpeta, volvemos a nuestro Android Studio, en este caso volveremos a crear la carpeta raw para ello hacen click con el boton derecho sobre la carpeta res y seleccionen New -> Android Resource Directory, nos aparecera un nuevo cuadro y completaremos estos campos:

  • Directory name: raw
  • Resource type: raw
  • Source set: main
Anuncios

Cuando presionen Ok procedera a crear nuestra nuevo directorio para recursos, volvemos a la carpeta donde extrajeron los archivos, los seleccionan y presionan Ctrl+C para copiarlos, luego van a la nueva carpeta que crearon recien y presionen Ctrl+V para pegarlos, nos aparecera un nuevo cuadro y presionen Ok para realizar la tarea quedando de la siguiente forma

Anuncios

Con esto ya tenemos nuestros efectos de sonido disponibles pero en los proximos posts ya veremos como se completa, por ahora nada mas.

Anuncios

En resumen, hoy hemos comenzado nuestro cuarto juego, en este caso haremos el mitico Snake, ya establecimos la base del juego, agregamos las clases que usaremos, los efectos de sonido y la actividad principal, 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.

Anuncios

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