GAME MAKER JUEGO DE LABERINTOS Objetivo El objetivo del juego va a ser el de coger los diamantes que se encuentren en la pantalla para poder pasar a la siguiente. A medida que aumente el nivel del juego, se irá complicando con la aparición de monstruos y otras dificultades. Primera parte Lo primero que haremos será practicar creando una pantalla en la que el jugador tenga que alcanzar la meta. Lo primero que necesitaremos será crear los sprites. Necesitaremos el personaje que manejaremos, la meta que marcaremos con una bandera y los muros de la habitación. Para ello tenemos las imágenes oso.png, meta.png y meta.png. A continuación debemos crear los objetos del juego. Creamos un objeto para la meta, otro para el personaje y otro para la meta y a continuación veremos los eventos que incluiremos en cada uno de ellos. En el objeto de muro, le daremos la opción Solid para que no se pueda atravesar. No necesitamos definir ningún evento para este objeto. El siguiente objeto a definir va a ser el correspondiente a la meta. Como el objetivo es que el personaje llegue a la bandera y pase de pantalla al alcanzarla, vamos a definir un evento de colisión con el oso:
Ahora haremos que se vea si existe o no otra habitación a la que pasar. Para ello, en la derecha en el menú Main 1 tenemos la casilla Check Next que comprueba si hay una siguiente habitación: Si existe, iremos a la siguiente habitación después de esperar 1,5 segundos. De la pestaña Control seleccionamos Start y End Block:
Iremos a la pestaña Main 2 y dentro de ella seleccionamos la opción Sleep y le damos el valor de 1500 milisegundos, metiéndola entre los indicadores de Start y End Block que hemos seleccionado antes: Después de esperar 1,5 segundos, saltaremos a la siguiente pantalla. A continuación del bloque introducido antes meteremos la casilla Next Room que indica el salto a la siguiente pantalla (en Main 1): En el caso de que no haya otra pantalla, haremos que el juego se reinicie (más adelante lo modificaremos para que salga la tabla de máximas puntuaciones, por ejemplo). En este caso, introducimos la casilla ELSE (que quiere decir si no se cumple la condición anterior ) del menú Control:
En el menú Main 2 tenemos la casilla Restar Game Quedando finalmente de esta forma: Ahora falta crean las acciones para el personaje. Lo que va a hacer es reaccionar al movimiento que le indiquemos mediante el teclado. Haremos que nuestro oso se mueva mientras pulsemos las teclas del teclado, en el momento en que se suelten, se deja de mover.
Introducimos ahora los eventos para el oso. El primero que introduciremos es la colisión con el muro, en este caso, el oso no se va a poder mover. Introducimos el evento de colisión con el muro: Tenemos que introducir la acción en este evento. Elegiremos en el menú Move la acción Move Fixed y elegiremos en las direcciones la de quedarse quieto: Ahora queremos establecer las acciones correspondientes a la pulsación de cada tecla. Creamos los eventos para las teclas izquierda, derecha, arriba, abajo y de no pulsación de tecla (left, right, up, down y no_key respectivamente):
Ahora estableceremos lo que tiene que hacer cada una de ellas en las acciones, pero antes debemos mantener el personaje alineado con la cuadrícula, para ello, en cada uno de los eventos introduciremos la casilla Check Grid del menú Control e introduciremos en las 2 casillas que aparecen el tamaño que le daremos a nuestra cuadrícula (en este caso 32x32). Este chequeo lo introducimos en todos eventos (arriba, abajo ): Ahora, dentro de cada evento deberemos introducir lo que hacer. Así, por ejemplo en la de pulsar a la izquierda introduciremos la casilla Move Fixed y marcaremos la dirección izquierda, ponemos velocidad 4 en todos los movimientos del juego. Así tenemos:
Hacemos esto en todos los eventos de teclado marcando la dirección correspondiente en cada uno y teniendo en cuenta que en el de no_key debemos marcar la central que hace que no se mueva. Ya tenemos los objetos. Solo falta crear las habitaciones. Creamos al menos 2 y colocamos las instancias de los muros, el oso y la meta como hicimos en la sesión anterior. Recordamos que hemos dicho que la cuadrícula debe de ser de 32x32. Por ejemplo, una habitación podría ser esta: Probamos el juego a ver si funciona. A continuación crearemos una pantalla inicial. Para ello seguiremos los siguientes pasos: 1. En cualquier programa de dibujo o edición como Paint o Photoshop dibujamos un fondo en el que ponga un título para el juego (por ejemplo: LABERINTO, o algo así) y que se muestre el texto que diga: PULSA CUALQUIER TECLA PARA CONTINUAR. Guardamos este fondo. 2. En Game Maker creamos un nuevo fondo y lo llamamos como queramos eligiendo en la imagen el fondo que hemos creado.
3. Creamos un objeto que se llame por ejemplo obj_pulsar. No lleva asociado ningún sprite. En los eventos seleccionamos Keyboard y any_key. En las acciones, como hemos visto previamente haremos que salte a la siguiente pantalla. Tened en cuenta que ahora no hay que chequear que hay siguiente pantalla, porque evidentemente la habrá. 4. Ahora deberemos crear una habitación que colocaremos delante de todas las demás. Pondremos como background el fondo que hemos creado y pondremos también en la habitación el objeto que hemos creado para pulsar cualquier tecla y cambiar de pantalla. Este ejercicio es muy sencillo, en siguientes clases aumentaremos su dificultad y lo haremos más atractivo de jugar.