Top Banner

of 237

Game Maker

Jul 15, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

GAME MAKER

Usando Game Maker

Esta seccin describe el uso bsico de Game Maker. Explica la idea global detrs del programa, cmo aadir sprites, fondos y sonidos y cmo definir objetos con eventos y acciones y aadirlos a los cuartos. En esta seccin se cubren los siguientes temas: Introduccin Instalacin Registro La idea global Un ejemplo sencillo La interfaz global de usuario Definiendo los sprites Sonidos y msica Fondos Definiendo objetos Eventos Acciones Creando rooms Distribuyendo tu juego

Usando Game Maker

As que quieres crear tus propios videojuegosJugar juegos de computadora es divertido. Pero es ms divertido disear tus propios juegos y que otros los jueguen. Desafortunadamente, no es fcil crear videojuegos para computadora. Los juegos comerciales de hoy en da normalmente se llevan de uno a tres aos de desarrollo con equipos de entre 10 a 50 personas. Sus presupuestos alcanzan fcilmente millones de dlares. Y todas estas personas tienen bastante experiencia: programadores, diseadores de arte, tcnicos de sonido, etc.

Quiere decir que es imposible crear tus propios juegos para computadora? Afortunadamente no. Por supuesto que no debes esperar que puedas crear tu propio Quake o Age of Empires en unas cuantas semanas. Pero tampoco es necesario. Juegos ms simples, como Tetris, Pacman, Space Invaders, etc., tambin son divertidos y son mucho ms fciles de crear. Desafortunadamente an requieren de buenas habilidades de programacin para manejar los grficos, sonidos, la interaccin con el usuario, etc. Es aqu donde aparece el Game Maker. El Game Maker ha sido creado para hacer mucho ms sencilla la creacin de ese tipo de juegos. Sin ninguna necesidad de programar. Una sencilla e intuitiva interfaz de arrastrar y soltar te permite crear tus propios juegos rpidamente. Puedes importar y crear imgenes, sprites (imgenes animadas), sonidos y usarlos. T defines fcilmente los objetos en tu juego e indicas su comportamiento. Puedes definir niveles atractivos con fondos deslizables en donde tome lugar el juego. Y si quieres control total sobre el juego existe un sencillo lenguaje de programacin dentro del Game Maker que te pone al mando de todo lo que sucede en el juego.

El Game Maker se enfoca a juegos bidimensionales. As que nada de mundos 3D como en Quake, aunque Game Maker incluye una funcionalidad reducida para grficos en 3D. Pero no te desanimes. Muchos juegos importantes, como Age of Empires, las series Command and Conquer y Diablo usan tecnologa de sprites bidimensionales, aunque parecen tridimensionales. Y disear juegos bidimensionales es mucho ms fcil y rpido. Probablemente la mejor parte es que el Game Maker puede usarse libre de cargo. Y no hay ninguna restriccin en los juegos que creas con l. Ninguna pantalla de publicidad, e incluso puedes venderlos si as lo deseas. Chequea el acuerdo de licencia adjunto para ms detalles.

Este documento te dir todo lo que necesitas saber acerca del Game Maker y cmo puedes crear tus propios juegos con l. Por favor entiende que, incluso con un programa como Game Maker, el diseo de juegos para computadora no es completamente trivial. Hay muchsimos aspectos que son importantes: el game play, los grficos, los sonidos, la interaccin con el usuario, etc. Comienza con ejemplos fciles y te dars cuenta de que crear juegos es bastante divertido. Tambin chequea los sitios Web: http://www.gamemaker.nl http://www.zonamakers.com http://www.comunidadgm.com

InstalacinProbablemente ya lo hiciste pero por si acaso, aqu tienes cmo instalar el Game Maker. Simplemente ejecuta el programa gmaker.exe. Sigue las instrucciones en pantalla. Puedes instalar el programa donde lo desees pero mejor deja las opciones por defecto. Una vez que finalice la instalacin, en el men Inicio encontrars un nuevo grupo de programas

desde el que puedes ejecutar el Game Maker y leer la documentacin. Adems del programa Game Maker tambin se instala la documentacin, junto con el archivo de ayuda.

La primera vez que ejecutes el Game Maker se te preguntar si quieres ejecutarlo en modo Simple o Advanced (avanzado). Si no has empleado un programa de creacin de videojuegos antes y no tienes experiencia como programador, usa el modo simple (selecciona No) En el modo simple se muestran menos opciones. Puedes cambiar

fcilmente al modo avanzado usando la opcin en el men File.

Dentro de la carpeta de instalacin (por defecto C:\Archivos de Programa\Game_Maker6) tenemos varias carpetas adicionales:

examples: contiene varios juegos de ejemplo, para que los revises y/o modifiques.

lib: contiene varias libreras de acciones. Si deseas instalar libreras adicionales debes colocarlas dentro de esta carpeta.

sprites: esta carpeta est dedicada a contener los sprites que uses. La instalacin incluye algunos sprites, pero en el sitio del Game Maker (http://www.gamemaker.nl), puedes descargar varios paquetes de recursos que contienen sprites, sonidos, y fondos adicionales.

backgrounds, sounds: carpetas similares que contienen las imgenes para los fondos y los sonidos.

RequisitosEl Game Maker requiere una PC moderna con procesador Pentium y sistema operativo Windows 98, NT, 2000, Me, XP o superior. Tarjeta grfica compatible con DirectX 8 con al menos 16 MB de memoria, resolucin de al menos 800x600 y 65000 (16-bit) colores. Tambin se requieres una tarjeta de sonido compatible con DirectX 8.0 o superior y que la versin 8.0 o superior de DirectX est instalada en tu ordenador (Puedes bajar la ltima versin de DirectX del sitio de Microsoft: http://www.microsoft.com/windows/directx/.)

Al desarrollar y testear los juegos los requerimientos de memoria son bastante altos (por lo menos 64 MB y preferentemente ms, dependiendo tambin del sistema operativo). Para ejecutar los juegos los requerimientos son menos severos y dependen del tipo de juego.

RegistroGame Maker se puede usar gratuitamente. Sin embargo, la versin gratuita tiene algunas limitaciones y muestra un logo al cargar el juego. Para disponer de la funcionalidad total del programa, eliminar el logo de carga y contribuir al desarrollo del programa se recomienda encarecidamente que registres tu copia de Game Maker. Al registrar el programa obtendrs las siguientes opciones:

Eliminacin del logo de Game Maker al cargar un juego. Rotacin, color blending y translucidez de sprites. Acciones adicionales para msica desde un CD, rotar texto o formas coloreadas. Efectos especiales de sonido y sonido posicional. Funciones avanzadas de dibujo, como polgonos texturizados. Sistema de partculas para crear efectos de fuego, lluvia, explosiones,... Funciones para grficos en 3D Funciones para crear juegos multi jugador para jugar en red. Funciones para crear y modificar recursos (sprites, backgrounds,...) durante el juego. Funciones para usar estructuras de datos. Funciones para planificacin de movimiento. Posibilidad de extender an ms la funcionalidad de Game Maker usando DLLs.

La cuota de registro del Game Maker es de US $20 o de 15 Euros. Hay varias formas en las que puedes llevar a cabo el registro de tu copia del programa. La ms fcil es usar el registro online usando un sistema de pago seguro con tarjeta de crdito o una cuenta PayPal. Alternativamente puedes realizar una transferencia a nuestra cuenta bancaria, enviarnos una money order o enviar efectivo. Puedes encontrar los detalles en el sitio de registro del Game Maker: www.gamemaker.nl/registration.html

Para registrar tu copia del Game Maker usa el sitio de arriba o selecciona Registration desde el men Help. En la parte inferior de la ventana que aparece haz clic en el botn Registration. Sers llevado a nuestra pgina Web donde se indican las diferentes opciones de registro, incluyendo el registro online.

Una vez que tu registro ha sido recibido se te enviar un email con el nombre, clave y la informacin sobre cmo introducir la clave en el programa. Para introducir la clave, selecciona nuevamente Registration desde el men Help. En la parte inferior de la ventana presiona el botn Enter Key. Introduce el nombre y la clave, y presiona OK. Si seguiste estos pasos correctamente el programa ya estar registrado.

Si posees una copia registrada de la versin 5 de Game Maker en tu ordenador puedes cambiar tu clave por otra vlida para la versin 6. Para ello selecciona Registration desde el men Help. A la izquierda del formulario vers el botn Convert a Version 5 Key (si no aparece es que no posees una versin registrada de GM o es que ya has registrado tu versin 6) Un texto explicativo te orientar para convertir tu clave: lee las instrucciones cuidadosamente y pulsa el botn

.

La idea globalAntes de ahondar en las posibilidades del Game Maker, sera bueno tener una idea general acerca del programa. Los juegos creados con el Game Maker se llevan a cabo en una o ms habitaciones (rooms). (Las habitaciones son planas, no 3D, pero pueden contener imgenes con apariencia 3D). En estas habitaciones es donde colocas los objetos, los cuales puedes definir en el programa. Los objetos tpicos son las paredes, objetos mviles, el personaje principal, enemigos, etc. Algunos objetos, como las paredes, slo se encuentran ah y no realizan ninguna accin. Otros, como el personaje principal, se movern y reaccionarn a los comandos del jugador (teclado, ratn, joystick). Por ejemplo, cuando el personaje principal toca un enemigo podra ser eliminado. Los objetos son los ingredientes ms importantes de los juegos creados con el Game Maker, por lo que hablaremos un poco ms sobre ellos.

Primero que nada, la mayora de los objetos necesitan alguna imagen para hacerse visibles en la pantalla. Tales imgenes son llamadas sprites. Un sprite no siempre es una sola imagen sino una serie de ellas que se muestran una tras otra para crear una animacin. De esta forma parece que el personaje camina, que una pelota rueda, que una nave explota, etc. Durante el juego el sprite de un objeto en particular puede cambiar. (As el personaje puede lucir diferente cuando camina a la izquierda o a la derecha). Puedes crear tus propios sprites en el Game Maker o cargarlos de algn archivo (GIFs animados por ejemplo).

A los objetos les pueden ocurrir ciertas cosas. A estas cosas se les llama eventos. Los objetos pueden realizar ciertas acciones dependiendo del evento que ocurra. Hay una gran cantidad de eventos que pueden suceder y una gran cantidad de acciones diferentes que los objetos pueden realizar. Por ejemplo, hay un evento creacin cuando el objeto es creado. (Para ser ms precisos, cuando una instancia de un objeto es creada; puede haber mltiples instancias del mismo objeto). Por ejemplo, cuando un objeto pelota se crea, puedes darle alguna accin de movimiento para que empiece a moverse. Cuando dos objetos se encuentran se tiene el evento colisin. En tal caso puedes hacer que la pelota se detenga o que invierta su direccin. Puedes tambin reproducir un efecto de sonido. Para este propsito el Game Maker te permite definir sonidos. Cuando el jugador presiona una tecla en el teclado hay un evento teclado, y el objeto puede realizar la accin apropiada, como moverse en la direccin indicada. Espero que entiendas la idea. Para cada objeto que disees puedes indicarle acciones para varios eventos, de esta forma se define el comportamiento del objeto.

Una vez que has definido tus objetos es tiempo de definir las habitaciones en donde habitarn. Las habitaciones pueden ser empleadas como niveles en el juego o para mostrar diferentes lugares. Hay acciones para moverse de una habitacin a otra. Las habitaciones deben tener primero un fondo. Este puede ser un simple color de relleno o una imagen. Tales imgenes pueden ser creadas en el Game Maker o puedes cargarlas de algn archivo. (El fondo puede hacer muchas cosas pero por el momento, solo considralo como algo que hace que los niveles se vean bien). Ahora puedes colocar tus objetos en la habitacin. Puedes colocar mltiples instancias del mismo objeto en una habitacin. As, por ejemplo, necesitas definir slo un objeto de pared y usarlo en muchos lugares. Tambin puedes tener mltiples instancias de los mismos enemigos, mientras requieran del mismo comportamiento.

Ahora ests listo para ejecutar el juego. Se mostrar la primera habitacin y los objetos en ella tomarn vida por las acciones en sus eventos de creacin. Empezarn a interactuar unos con otros debido a las acciones en sus eventos de colisin y pueden reaccionar a lo que haga el jugador usando las acciones en los eventos del teclado o del ratn. En resumen, los siguientes elementos (comnmente llamados recursos) tienen un papel crucial en el juego: Objetos (objects): que son las entidades verdaderas en el juego. Habitaciones (rooms): los lugares (niveles) en donde habitan los objetos. Sprites: imgenes (animadas) que se emplean para representar a los objetos. Sonidos (sounds): para emplearse en el juego, ya sea como msica de fondo o como efectos. Fondos (backgrounds): las imgenes usadas como fondo para los cuartos.

De hecho, hay otro tipo de recursos: paths, scripts, fuentes y time lines. Estos recursos son importantes para juegos ms complicados. Solo los vers cuando ejecutas el Game Maker en modo avanzado. Se hablar de ellos ms tarde en los captulos avanzados de este documento.

Un ejemplo sencilloSera bueno echar un vistazo de cmo crear un ejemplo muy simple. El primer paso es describir el juego que queremos hacer. (Siempre debieras empezar por esto; te ahorrar mucho trabajo despus). El juego ser muy simple: hay una pelota rebotando entre varias paredes. El jugador debe intentar hacer clic en la pelota con el ratn. Cada vez que lo logre obtiene un punto.

Como se puede ver, se requieren dos objetos diferentes: la pelota y la pared. Tambin necesitaremos dos sprites diferentes: uno para el objeto pared y otro para el objeto pelota. Finalmente, queremos escuchar algn sonido cuando se logre hacer clic en la pelota con el ratn. Usaremos un slo nivel en el que se lleve a cabo el juego. (Si no quieres hacer el juego t mismo, puedes cargarlo de la carpeta Examples con el nombre hit the ball.gm6)

Hagamos primero los sprites. Del men Add selecciona Add Sprite (puedes tambin usar el botn apropiado en la barra de herramientas). Aparecer una ventana. En el campo Name escribe wall. Selecciona el botn Load Sprite y elige una imagen apropiada (puedes encontrar una en la carpeta maze). Eso es todo, puedes cerrar la ventana. De esta misma forma, crea un sprite para la pelota.

Ahora definiremos el sonido. Del men Add selecciona Add Sound. Aparece una ventana diferente. Dale un nombre al sonido y selecciona Load Sound. Selecciona algo apropiado y checa si es un buen sonido presionando el botn reproducir. Si te gusta, cierra la ventana.

El siguiente paso es crear los dos objetos. Hagamos primero la pared. Nuevamente del men Add selecciona Add Object. Se abrir una ventana que se ve bastante ms compleja que las que hemos visto hasta ahora. A la izquierda tenemos informacin global acerca del objeto. Dale al objeto un nombre apropiado y del men desplegable selecciona el sprite wall. Como una pared es slida deberas marcar la casilla llamada Solid. Eso es todo por el momento. Nuevamente crea un objeto, llmalo ball, y seleccinale un sprite. No haremos slida a la pelota. Necesitamos definir algn comportamiento para la pelota. Debajo hay un botn marcado Add Event. Presinalo y vers todos los eventos posibles. Selecciona el evento de creacin (create). Ahora se ha agregado a la lista de eventos. En el extremo derecho puedes ver todas las acciones posibles, en varios grupos. Del grupo move selecciona la accin con las 8 flechas rojas y arrstrala a la lista de acciones en el medio. Esta accin har al objeto moverse en una direccin particular. Una vez que la sueltes en la lista de acciones se mostrar un dilogo en el cual puedes indicar la direccin de movimiento. Selecciona las 8 flechas para seleccionar una direccin al azar. Cierra el dilogo. Ahora la pelota empezar a moverse en el momento en que sea creada. En segundo lugar debemos definir lo que suceder en caso de que se colisione con la pared. De nuevo presiona Add Event. Haz clic en el botn de los eventos de colisin (collision) y del men que aparece selecciona el objeto wall. Para este evento necesitamos la accin rebotar. (Puedes ver lo que cada accin hace colocando el ratn sobre el icono que la representa). Finalmente necesitamos definir lo que se har cuando el usuario presione el botn izquierdo del ratn sobre la pelota. Agrega el evento correspondiente y selecciona el botn izquierdo del ratn (Left button) del men que se despliega. Para este evento necesitamos unas cuantas acciones: una para reproducir un sonido (la puedes encontrar en el grupo de acciones main1), una para cambiar el marcador (se encuentra en el grupo score) y dos ms para mover la pelota a una posicin aleatoria y moverla

en una nueva direccin (de la misma forma que en el evento de creacin). Para la accin de sonido, selecciona el sonido adecuado. Para la accin del marcador (score), introduce un valor de 1 y marca la opcinRelative. Esto significa que se agregar 1 al marcador actual. (Si cometes algn error puedes hacer doble click sobre la accin para modificar su configuracin).

Nuestros objetos ahora estn listos. Lo que queda es definir la habitacin. Agrega un nuevo nivel al juego, de nuevo desde el men Add. A la derecha vers la habitacin vaca. A la izquierda vers algunas propiedades que puedes modificar, como el ancho y alto de la habitacin. En la parte inferior izquierda puedes seleccionar un objeto del men desplegable. Puedes colocar instancias de ese objeto haciendo clic en el cuarto. Puedes eliminar las instancias usando el botn derecho del ratn. Crea un espacio cerrado alrededor del nivel usando el objeto wall. Finalmente coloca 1 2 objetos ball en el nivel. Nuestro juego est listo.

Es hora de probar nuestro juego. Presiona el botn Run y ve lo que pasa. Si no cometiste algn error la pelota empieza a moverse alrededor. Intenta hacer click en ella con el ratn y ve qu sucede. Puedes detener el juego presionando la tecla . Ahora puedes hacer ms cambios. Felicidades. Has creado tu primer juego. Pero creo que es hora de aprender un poco ms sobre el Game Maker.

La interfaz global de usuario

Al iniciar el Game Maker se muestra la siguiente ventana:

(De hecho, esto es lo que ves cuando ejecutas el Game Maker en modo simple. En el modo avanzado se muestran algunas opciones ms. Ve el captulo correspondiente para ms detalles). A la izquierda puedes ver los diferentes recursos, mencionados antes: Sprites, Sounds (Sonidos), Backgrounds (Fondos), Scripts, Objects (Objetos), Rooms (Habitaciones) y dos ms: Game Information (Informacin del juego) y Game Options (Opciones del juego) En la parte superior est el ya conocido men y la barra de herramientas. En este captulo describir brevemente las diferentes opciones del men, los botones, etc. En captulos posteriores trataremos varios de ellos con ms detalle. Recuerda que muchas cosas se pueden lograr de diferentes maneras: seleccionando un comando del men, haciendo click en un botn, o haciendo click derecho sobre un recurso.

Men fileEn el men file puedes encontrar los comandos usuales para cargar y guardar archivos, adems de algunos especiales:

New. Selecciona este comando para empezar a crear un juego nuevo. Si el juego actual sufri modificaciones se te pregunta si

quieres guardarlo. Tambin hay un botn en la barra de herramientas para hacer esto.

Open. Abre un archivo de juego. Los archivos del Game Maker tienen la

extensin .gmd. Hay un botn en la barra de herramientas para este comando. Puedes tambin abrir un juego arrastrando el archivo a la ventana del Game Maker.

Recent Files. Usa este submen para reabrir los archivos abiertos recientemente.

Save. Guarda el archivo de diseo del juego con el nombre actual. Si no se haba especificado un nombre, se te pide dar uno. Puedes usar este comando solo cuando el archivo ha cambiado. Como con los anteriores, hay un botn en la barra de herramientas para realizar esta accin.

Save As. Guarda el diseo del juego con otro nombre. Se te pide un nuevo nombre.

Create Executable. Una vez que tu juego est listo probablemente querrs distribuirlo. Mediante este comando puedes crear una versin ejecutable de tu juego. Es simplemente un ejecutable que puedes darle a otros para que jueguen tu juego. Encontrars ms informacin sobre la distribucin de juegos en el tema correspondiente.

Advanced Mode. Al hacer clic en este comando el Game Maker cambiar entre los modos simple y avanzado. En el modo avanzado se tienen disponibles comandos y recursos adicionales.

Exit. Probablemente obvio. Presinalo para cerrar el Game Maker. Si hiciste cambios al juego actual se te preguntar si quieres guardarlo.

Men EditEl men edit contiene varios comandos que se relacionan con el recurso seleccionado (objeto, sonido, etc.) o grupo de recursos. Dependiendo del tipo de recurso algunos de los comandos pueden no estar disponibles.

Insert resource. Inserta una nueva instancia del tipo de recurso actualmente seleccionado, se inserta antes del mismo. (Si seleccionaste un grupo de recursos el recurso es agregado al grupo). Se abrir un cuadro de dilogo en el que puedes cambiar las propiedades del recurso. Esto se tratar con ms detalle en los captulos siguientes.

Duplicate. Crea y agrega una copia del recurso actual. Se abre una ventana en la que puedes modificar el recurso.

Delete. Borra el recurso seleccionado (o grupo de recursos). Ten cuidado. No puede deshacerse. Por lo que se te har una advertencia.

Rename. Dale un nuevo nombre al recurso. Esto se puede hacer tambin en la ventana de propiedades del recurso. Tambin puedes seleccionar el recurso y entonces hacer clic en el nombre.

Properties. Usa este comando para mostrar la ventana de edicin de propiedades. Nota que todas las ventanas de propiedades se muestran en la ventana principal. Puedes editar muchas de ellas al mismo tiempo. Puedes tambin editar las propiedades haciendo doble clic en el recurso.

Observa que estos comandos puedes tambin aplicarse de otra forma. Haz clic derecho en un recurso o en un grupo de recursos, y aparecer el men apropiado.

Men AddEn este men puedes agregar un nuevo recurso de cada uno de los diferentes tipos que hay. Nota que para cada uno de ellos hay tambin un botn en la barra de herramientas y un acceso directo con el teclado.

Men RunEste men se usa para ejecutar el juego. Hay dos formas de ejecutar el juego:

Run normally. Ejecuta el juego en modo normal. El juego se ejecuta de la manera ms eficiente posible exactamente como si fuera un ejecutable.

Run in Debug mode. Ejecuta el juego en modo debug. En este modo puedes revisar ciertos aspectos del juego, pausarlo o avanzar paso a paso. Muy til para detectar y solucionar errores.

Una vez que tu juego est listo, puedes crear un ejecutable del juego usando la accin del men file.

Men WindowEn este men puedes encontrar los comandos comunes para manejar las diferentes propiedades de las ventanas de la ventana principal:

Cascade. Coloca todas las ventanas en cascada de forma que cada una sea parcialmente visible.

Arrange Icons. Ordena todas las ventanas. (til en particular cuando cambias de tamao la ventana principal).

Close All. Cierra todas las ventanas de propiedades, preguntando si se desea guardar o no los cambios realizados.

Men HelpAqu encontrars algunos comandos de ayuda:

Contents. Te permite acceder a la versin en formato de ayuda de este documento.

How to use help. En caso de que no sepas, algo de ayuda sobre cmo usar la ayuda.

Registration. An cuando el Game Maker puede ser usado libre de cargo, se te alienta a registrar el programa. De esta forma se eliminar la ventana publicitaria que en ocasiones aparece en la ventana de edicin y ayudars al futuro desarrollo del programa. Aqu puedes encontrar informacin sobre cmo registrar el programa. Si ya lo registraste puedes usar esta opcin para introducir la clave de registro que recibiste.

Web site. Te conecta al sitio del Game Maker en donde puedes encontrar informacin sobre la versin ms reciente del Game Maker y colecciones de juegos y recursos para el Game Maker. Te recomiendo que visites el sitio al menos una vez al mes para ver nueva informacin.

About Game Maker. Breve informacin sobre esta versin del Game Maker.

El explorador de recursosEn la parte izquierda de la forma principal encontrars el explorador de recursos. Aqu tienes una lista ramificada de todos los recursos de tu juego. Trabaja de la misma forma que el explorador de Windows con el cual muy probablemente ya ests familiarizado. Si un elemento tiene un signo + a su lado puedes hacer clic en el signo para ver los recursos

dentro de l. Haciendo clic en el signo los oculta nuevamente. Puedes cambiar el nombre de un recurso (excepto los de ms alto nivel) seleccionndolo (con un solo click) y luego haciendo clic en el nombre. Haz doble clic en un recurso para editar sus propiedades. Usa el botn derecho del ratn para acceder a los comandos del men Edit.

Puedes cambiar el orden de los recursos haciendo click en ellos y manteniendo presionado el botn del ratn. Ahora arrastra el recurso (o grupo) al lugar apropiado. (Por supuesto que el lugar debe ser el apropiado. Por ejemplo no puedes arrastrar un sonido a la lista de sprites).

Definiendo los sprites

Los sprites son las representaciones visuales de todos los objetos en el juego. Un sprite es o una imagen simple, dibujada con cualquier programa que te guste, o un juego de varias imgenes que, pueden ser reproducidas una tras otra, creando un efecto de movimiento (animacin). Por ejemplo, las siguientes cuatro imgenes forman un sprite para un Pacman movindose hacia la derecha.

Cuando haces un juego empiezas por reunir los distintos sprites para los objetos en tu juego. Con el Game Maker viene incluida una coleccin de sprites estticos y animados. Puedes encontrar otros sprites en Internet, normalmente como archivos gif animados. Para agregar un sprite, selecciona el comando Add Sprite del men Add, o usa el botn correspondiente de la barra de herramientas. Aparecer la siguiente ventana:

En la parte superior puedes indicar el nombre del sprite. Todos los sprites (y todos los dems recursos) tienen un nombre. Ser mejor que le des a cada sprite un nombre descriptivo y fcil de recordar. Asegrate de que todos los recursos tengan diferentes nombres. Aunque no es estrictamente requerido, se recomienda firmemente usar slo letras, dgitos y el guin bajo (_) en el nombre de un sprite (y de cualquier otro recurso) y empezar el nombre con una letra. En particular no hagas uso de espacios en los nombres. Esto pasar a ser parte importante una vez que empieces a usar cdigo.

Para cargar un sprite, haz clic en el botn Load Sprite. Se muestra un dilogo de archivo en el que debes indicar el sprite. El Game Maker puede abrir varios tipos de archivos de imagen. Cuando cargas un gif animado, las diferentes subimgenes forman las imgenes del sprite. Una vez que el sprite es cargado, se muestra la primera subimagen a la derecha. Cuando hay mltiples subimgenes, puedes verlas usando los botones con las flechas.

La opcin Transparent indica si el fondo deber ser considerado como transparente. La mayora de los sprites son transparentes. El fondo es determinado por el color del pxel que se encuentra en la esquina inferior izquierda de la imagen. As que asegrate de que ningn pxel de la imagen que se mostrar tenga este color. (Los archivos gif a menudo definen su color de transparencia, este color no es usado en el Game Maker).

Con el botn Edit Sprite puedes editar el sprite, o incluso crear un sprite completamente nuevo.

Msica y sonido

La mayora de los juegos tienen ciertos efectos de sonido y msica de fondo. El Game Maker incluye algunos efectos de sonido de utilidad. Puedes encontrar muchos ms en la Web.

Para agregar un recurso de sonido a tu juego, usa el comando Add Sound en el men Add o usa el botn correspondiente en la barra de herramientas. Aparecer la siguiente Ventana:

Para cargar un sonido, presiona el botn Load Sound. Aparece un dilogo de seleccin de archivo en el que debes especificar el archivo de sonido. Hay dos tipos de archivos de sonido, archivos wave (*.wav) y archivos midi (*.mid). (Para informacin sobre archivos mp3 ve el Captulo 17). Los archivos wave son usados para efectos breves de sonido. Usan mucha memoria pero se reproducen instantneamente. salos para todos los efectos de sonido en el juego. Los archivos midi tratan la msica en una forma diferente. Como resultado usan mucha menos memoria, pero estn limitados a msica instrumental de fondo. Adems, slo se puede reproducir un archivo midi a la vez.

Una vez que cargues un archivo se muestra su tipo y duracin. Puedes escuchar el sonido usando el botn reproducir. Tambin hay un botn Save Sound para guardar en un archivo el sonido actual. Este botn no es realmente requerido pero pudieras necesitarlo si perdieras el sonido original.

Fondos

El tercer tipo de recursos bsicos son los fondos. Los fondos son normalmente imgenes grandes usadas como fondo para los niveles en los que se realiza el juego. A menudo las imgenes de fondo son hechas con tiles (mosaicos) de manera que pueden formar una imagen en un rea sin errores visuales. De esta manera puedes llenar el fondo con un patrn. Varios tiles de fondo de este tipo vienen incluidos con el Game Maker. Puedes encontrar muchos ms en la Web.

Para agregar un fondo a tu juego, usa el comando Add Background en el men Add o usa el botn correspondiente de la barra de herramientas. Aparecer la siguiente ventana

:

Presiona el botn Load Background para cargar una imagen de fondo. El Game Maker soporta varios formatos de imagen. Las imgenes de fondo no pueden ser animadas! La opcin Transparent indica si el fondo ser parcialmente transparente. La mayora de los fondos no son transparentes, por lo que la opcin por defecto es no. Como color transparente se usa el color del pxel en la esquina inferior izquierda.

Puedes cambiar el fondo o crear uno nuevo usando el botn Edit Background. Para ms informacin, ve el Captulo 18

.

Definiendo objetos

Hemos agregado imgenes y sonidos al juego, pero ninguno de ellos realiza ninguna accin. Ahora llegamos al recurso ms importante dentro del Game Maker: los objetos. Los objetos son las entidades que hacen las cosas en el juego. La mayora de las veces tienen un sprite como representacin grfica para que puedas verlos. Tienen un comportamiento porque pueden reaccionar a ciertos eventos. Todas las cosas que ves en el juego (excepto el fondo) son objetos. (O para ser ms precisos, son instancias de objetos). Los personajes, los enemigos, las pelotas, las paredes, etc. Puede haber tambin ciertos objetos que no ves pero que controlan ciertos aspectos del juego.

Por favor nota la diferencia entre los sprites y los objetos. Los sprites son solo imgenes (animadas) que no tienen ningn comportamiento. Los objetos normalmente tienen un sprite que los representa pero tambin tienen un comportamiento. Sin objetos no hay juego!

Tambin nota la diferencia entre los objetos y las instancias. Un objeto describe cierta entidad, por ejemplo un enemigo. Puede haber mltiples instancias de este objeto en el juego. Cuando hablamos de instancia nos referimos a una instancia en particular del objeto. Cuando hablamos de un objeto nos referimos a todas las instancias de este objeto.

Para agregar un objeto al juego, selecciona el comando Add Object del men Add. Aparecer la siguiente ventana:

Este formulario es bastante complejo. A la izquierda hay cierta informacin general acerca del objeto. En el medio hay varios eventos posibles que pueden ocurrirle a un objeto. Ve el siguiente captulo para ms detalles. A la derecha hay varias acciones que puede realizar el objeto. Estas sern tratadas en el Captulo 12.

Como siempre, puedes (y debes) agregar un nombre al objeto. Despus puedes indicar el sprite para el objeto. Para hacerlo, haz clic con el botn izquierdo del ratn en la caja de sprite o en el botn de men junto a esta. Aparecer un men con todos los sprites disponibles. Selecciona el que quieras usar para el objeto. Si todava no tienes un sprite para el objeto, puedes hacer click en el botn New para aadir un sprite y cambiarlo. Tambin vers un botn Edit para editar el sprite rpidamente.

Debajo hay dos opciones. La opcin Visible indica si las instancias de este objeto sern visibles. Obviamente, la mayora de los objetos son visibles, pero algunas veces es til tener objetos invisibles. Por ejemplo, puedes usarlos como guas de movimiento para un enemigo. Los objetos invisibles reaccionan a eventos y otras instancias pueden colisionar con ellos. La opcin Solid indica si se trata de un objeto slido

(como una pared). Las colisiones con objetos slidos se tratan de forma distinta a las colisiones con objetos no slidos. Se recomienda usar la opcin Solid nicamente para objetos que no se mueven.

Eventos

El Game Maker emplea lo que se conoce como programacin orientada a eventos. Esto es, en todo tipo de situaciones las instancias de los objetos reciben eventos (como mensajes que indican que algo ha sucedido). Entonces los objetos pueden reaccionar a estos mensajes ejecutando ciertas acciones. Para cada objeto debes indicar a qu eventos responder y qu acciones debe realizar. Puede parecer complicado pero en realidad es bastante sencillo. Primero que nada, para la mayora de los eventos los objetos no tienen que hacer nada. Para los eventos donde algo suceda puedes usar muy simples comandos de arrastrar y soltar para indicar las acciones.

En medio de la ventana de propiedades de objeto hay una lista de los eventos a los cuales el objeto puede reaccionar. Al principio est vaca. Puedes agregar eventos presionando el botn Add Event. Aparecer un pequeo men con todos los diferentes tipos de eventos. Aqu debes seleccionar el evento que deseas agregar. En ocasiones se mostrar un nuevo men con opciones extra. Por ejemplo, para el evento del teclado debes seleccionar la tecla. Ms abajo encontrars una completa lista con descripciones de los eventos. Seleccionaremos un evento de la lista. Este ser el evento que modificaremos. Puedes cambiar el evento seleccionado haciendo clic sobre l. A la derecha estn todas las acciones representadas por pequeos iconos. Se encuentran agrupadas en varias pginas / fichas de opciones. En el siguiente captulo describir todas las acciones y lo que realizan. Entre los eventos y las acciones se encuentra la lista. Esta lista contiene las acciones para el evento actual. Para agregar acciones a la lista, arrstralas desde la derecha a la lista. Sern colocadas una bajo la otra, con una breve descripcin. Para cada accin se te pedirn algunos parmetros. Estos se describirn tambin en el siguiente captulo. Despus de agregar algunas acciones, tendras algo como esto:

Ahora puedes agregar acciones a otro evento. Haz clic con el botn izquierdo del ratn sobre el evento adecuado para seleccionarlo y arrastra la accin a la lista. Puedes cambiar el orden de las acciones en la lista arrastrando los iconos. Si mantienes presionada la tecla mientras arrastras una accin, crears una copia de dicha accin. Puedes inclusive arrastrar acciones entre diferentes listas de diferentes objetos. Cuando haces clic con el botn derecho sobre una accin, se muestra un men desde el cual puedes eliminar la accin (tambin puedes hacer esto usando la tecla ), o copiar y pegar acciones. Cuando mantienes el cursor del ratn sobre una accin, se muestra una descripcin ms detallada sobre la misma. En el siguiente captulo hay ms informacin sobre las acciones.

Para eliminar el evento seleccionado y todas sus acciones, presiona el botn Delete. (Los eventos sin acciones son eliminados automticamente cuando cierras la ventana por lo que no hay necesidad de que lo hagas tu mismo). Si deseas asignar las acciones a un evento diferente (porque por ejemplo, has decidido emplear una tecla diferente para las acciones) presiona el botn Change y selecciona el nuevo evento. (El nuevo evento no debe haber sido empleado antes!).

Como se mencion arriba, para agregar un evento, presiona el botn Add Event. Se muestra la siguiente ventana:

Aqu seleccionas el evento que deseas agregar. Algunas veces aparece un men con opciones extra. A continuacin una descripcin de los eventos. (Recuerda que normalmente slo haces uso de algunos de ellos):

Evento

create

Este evento ocurre cuando se crea una instancia del objeto. Normalmente se usa para establecer el movimiento de la instancia y/o establecer ciertas variables de la misma

.

Evento Destroy Este evento ocurre cuando la instancia es destruida. Para ser precisos, ocurre justo antes de que sea destruida, por lo que la instancia an existe cuando el evento es ejecutado! La mayora de las veces este evento no se usa pero puedes por ejemplo emplearlo para cambiar el marcador o para crear algn otro objeto.

Eventos alarm

Cada instancia tiene 12 relojes de alarma. Puedes configurar estos relojes usando ciertas acciones (ver el siguiente captulo). El reloj de alarma hace una cuenta regresiva hasta que llega a 0, que es cuando se genera el evento de alarma. Para indicar las acciones para un reloj de alarma, necesitas primero seleccionarlo en el men. Los relojes de alarma son muy tiles. Puedes usarlos para hacer que ciertas cosas sucedan de tiempo en tiempo. Por ejemplo un enemigo puede cambiar su direccin de movimiento cada 20 pasos. (En cuyo caso una de las acciones en el evento debe configurar nuevamente la alarma).

Eventos

step

El evento step sucede a cada paso/frame del juego. Aqu puedes colocar acciones que requieren ejecutarse continuamente. Por ejemplo, si el objeto debe seguir a otro, puedes adaptar aqu la direccin de movimiento hacia el objeto que se est siguiendo. Sin embargo ten cuidado con este evento. No coloques muchas acciones muy complicadas en el evento step. Esto podra alentar el juego. Para ser ms preciso, hay tres diferentes eventos step. Normalmente solo necesitas el evento por defecto. Pero usando el men puedes tambin seleccionar el inicio y el final del evento step. El inicio del evento step es ejecutado al inicio de cada paso, antes de que ocurra cualquier otro evento. El evento step normal es ejecutado justo antes de que se coloquen las instancias en sus nuevas posiciones. El final del evento step se ejecuta al final de cada paso, justo antes de que se dibuje la escena. Este evento se usa normalmente para, por ejemplo, cambiar el sprite dependiendo de la direccin actual.

Eventos

de

colisin

En el momento en que dos instancias colisionan (esto es, que sus sprites se sobreponen) ocurre un evento de colisin. Bien, para ser precisos, ocurren dos eventos de colisin, uno por cada instancia. La instancia puede reaccionar a este evento de colisin. Para este fin, selecciona en el men el objeto con el cual quieres definir el evento de colisin. Despus coloca las acciones. Hay una diferencia entre lo que sucede cuando la instancia colisiona con un objeto slido y cuando lo hace con uno no slido. Antes que nada, cuando no hay acciones en el evento de colisin, no sucede nada. La instancia actual simplemente contina movindose; an cuando el otro objeto sea slido. Cuando el evento de colisin contiene acciones sucede lo siguiente: Cuando el otro objeto es slido, la instancia se coloca de vuelta al lugar previo (antes de que ocurriera la colisin). Entonces se ejecuta el evento. Finalmente, la instancia es llevada a su nueva posicin. As que si por ejemplo, el evento invierte la direccin de movimiento, la instancia rebota contra la pared sin detenerse. Si hay una nueva colisin, la instancia se mantiene en su lugar previo. De manera que efectivamente deje de moverse. Cuando el otro objeto no es slido, la instancia no se regresa. El evento simplemente se ejecuta con la instancia en su posicin actual. Tampoco se checa una nueva colisin. Si lo piensas, esto es lo que debera ocurrir lgicamente. Porque cuando el objeto no es slido, podemos simplemente movernos sobre l, o a travs de l. El evento nos notifica lo que est sucediendo. Existen muchos usos para el evento de colisin. Las instancias pueden usarlo para rebotar contra las paredes. Puedes usarlo para destruir algn objeto cuando es tocado por una bala, etc.

Eventos

Keyboard

Cuando el usuario presiona una tecla, ocurre un evento keyboard para todas las instancias de todos los objetos. Hay un evento diferente para cada tecla. En el men puedes seleccionar la tecla para la que quieres definir el evento de teclado y despus arrastrar las acciones. Es claro que solo unos cuantos objetos necesitan eventos para unas cuantas teclas. Se tiene un evento en cada paso cuando el jugador presiona la tecla. Hay dos eventos de teclado especiales. Uno es el . Este evento ocurre en cada paso cuando no hay ninguna tecla presionada. El segundo se llama y ocurre cuando se presiona cualquier tecla. A propsito, cuando el usuario presiona varias teclas, ocurren los eventos para todas ellas. Las teclas en el teclado numrico solo producen sus eventos correspondientes cuando est activada. Eventos mouse

Un evento mouse ocurre para una instancia cuando el cursor del ratn se encuentra sobre el sprite que representa a la instancia. Dependiendo de qu botn se presione, se obtienen los eventos no button (ningn botn), left button (botn izquierdo), right button (botn derecho), o middle button (botn central). Estos eventos son generados en cada paso mientras el jugador mantenga el botn del ratn presionado. Los eventos press se generan una sola vez cuando el botn es presionado. Los eventos release se generan una sola vez cuando se suelta el botn. Recuerda que estos eventos slo ocurren cuando el ratn est sobre la instancia. Si el jugador presiona un botn del ratn en algn lugar donde no haya ninguna instancia, no se genera el evento. Pero en ocasiones es importante reaccionar a cualquier click del ratn. Esto puede conseguirse usando los eventos globales que aparecen en el submen. Tambin hay dos eventos especiales. El evnto

mouse enter ocurre cuando el ratn entra sobre el sprite de la instancia. El evento mouse leave ocurre cuando el ratn deja de estar encima de la instancia. Estos eventos se usan tpicamente para cambiar el sprite o para hacer sonar algn sonido. Los eventos mouse wheel up y mouse wheel down ocurren cuando se usa la rueda del ratn. Por ltimo, hay una serie de eventos para joysticks. Puedes indicar acciones para las cuatro direcciones del joystick (en una direccin diagonal se ejecutan ambos eventos) y para 8 botones del joystick. Puedes hacer esto para dos joysticks.

Eventos Hay otros eventos que pueden ser tiles en ciertos juegos. Los encuentras en este men. Los eventos que puedes encontrar son:

other

Outside: Este evento ocurre cuando la instancia se encuentra completamente fuera del cuarto. Este es normalmente un buen momento para destruirla.

Boundary: Este evento ocurre cuando la instancia llega al borde del cuarto. Game start: Este evento se genera para todas las instancias en el primer cuarto donde inicia el juego. Ocurre antes que el evento room start (ver abajo) y an antes de los eventos create de las instancias en el cuarto. Este evento se define normalmente en un solo objeto controlador y se usa para reproducir alguna msica de fondo y para dar valores iniciales a algunas variables, o para cargar informacin.

Game end: El evento ocurre para todas las instancias cuando termina el juego. De nuevo, es comn que solo un objeto lo defina. Se emplea por ejemplo para guardar cierta informacin en un archivo.

Room start: Este evento se genera para todas las instancias (en el cuarto) cuando se inicia un cuarto. Ocurre antes que los eventos de creacin.

Room end: Este evento se genera para todas las instancias existentes cuando finaliza el cuarto. No more lives: El Game Maker tiene un sistema de vidas interno. Hay una accin para especificar y cambiar el nmero de vidas. En el momento que el nmero de vidas sea menor o igual a 0, se genera este evento. Normalmente empleado para terminar o reiniciar el juego.

No more health: El Game Maker tiene un sistema interno de energa. Hay una accin para especificar y cambiar el nivel de energa. En el momento que la energa sea menor o igual a 0, ocurre este evento. Normalmente se emplea para disminuir el nmero de vidas o para reiniciar el juego.

End of animation: Como se indic antes, una animacin consiste en varias imgenes que se muestran una despus de otra. Despus de que se muestra la ltima se inicia nuevamente con la primera. El evento ocurre en ese preciso momento. Esto se puede usar para por ejemplo cambiar la animacin, o destruir la instancia.

End of path: Este evento ocurre cuando la instancia que sigue una trayectoria predeterminada (path) llega al final de la misma. Ve al Captulo 18 para encontrar ms informacin sobre las trayectorias.

User defined: Hay 16 de estos eventos. Normalmente nunca ocurren a menos que t mismo los llames desde alguna pieza de cdigo.

Evento

Drawing

Las instancias, cuando son visibles, dibujan su sprite en la pantalla en cada paso. Cuando especificas acciones en el evento de dibujo, no se

dibuja el sprite, sino que se ejecutan estas acciones en su lugar. Esto se puede usar para dibujar algo ms que un sprite, o para primero hacer algunos cambios a los parmetros del sprite. Hay varias acciones de dibujo especialmente diseadas para usarse en el evento drawing. Recuerda que el evento drawing se ejecuta solamente cuando el objeto es visible. Tambin recuerda que, independientemente de lo que dibujes aqu, los eventos de colisin se basan en el sprite que est asociado a la instancia

Evento

Key

press

Este evento es similar al evento keyboard con la diferencia de que ste ocurre solo una vez cuando se presiona la tecla, y no continuamente. Este es til cuando deseas que una accin ocurra solo una vez.

Key

release

events

Este evento es similar al evento keyboard, pero ocurre solo una vez cuando la tecla es liberada, en lugar de ocurrir continuamente.

En algunas situaciones es importante conocer el orden en el cual el Game Maker procesa los eventos. Como sigue. Eventos Begin Step Eventos Alarm Eventos Keyboard, Key press, y Key release Eventos Mouse Eventos Step normales (ahora todas las instancias son colocadas en sus nuevas posiciones) Eventos Collision Eventos End Step Eventos Drawing

Los eventos de creacin (create), destruir (destroy) y otros son generados en el momento pertinente.

AccionesLas acciones indican lo que sucede en un juego creado con el Game Maker. Las acciones se colocan en los eventos de los objetos. Cuando el evento ocurre estas acciones se llevan a cabo, resultando en cierto comportamiento para las instancias del objeto. Hay una gran cantidad de

acciones disponibles y es importante que entiendas lo que hacen. En este captulo describir las acciones disponibles en modo simple. Nota: ciertas cantidad de acciones slo estan disponible en la versin registrada de Game Maker. Estas sern indicadas.

Todas las acciones se encuentran en las pginas / fichas(pestaas) a la derecha de la ventana de propiedades de objeto. Hay siete grupos de acciones. Puedes ver el grupo haciendo clic en la ficha correcta. Cuando mantienes el ratn sobre una de las acciones, se muestra una breve descripcin para recordar su funcin.

Permteme repetir brevemente: Para colocar una accin en un evento, solo arrstrala de las pginas / fichas a la lista de accin. Puedes cambiar el orden de la lista, arrastrando y soltando los iconos. Si presionas la tecla mientras arrastras puedes hacer una copia de la accin. (Puedes arrastrar y copiar acciones entre las listas en diferentes ventanas de propiedades de objetos). Usa el botn derecho del ratn para borrar acciones (o usa la tecla ) o para copiar y pegar acciones.

Cuando colocas una accin, la mayora de las veces aparece una ventana de dilogo, en la cual puedes especificar ciertos parmetros para la accin. Dos tipos de parmetros aparecen en muchas acciones. En la parte superior puedes indicar a qu instancia aplica la accin. El valor por defecto es self, que es la instancia para la cual se est realizando la accin. La mayora de las veces esto es lo adecuado. En el caso de un evento collision, puedes especificar tambin si se aplica la accin a la otra instancia involucrada en la colisin. De esta forma puedes por ejemplo destruir la otra instancia.

Finalmente, puedes elegir si aplicas la accin a todas las instancias de un objeto. De esta manera puedes por ejemplo cambiar todas las pelotas rojas por azules. El segundo tipo de parmetro es la casilla marcada Relative. Al marcar esta casilla, los valores que introduzcas sern relativos a los valores actuales. Por ejemplo, de esta forma puedes agregar algo al marcador actual, en lugar de cambiar el marcador actual por su nuevo valor. Los otros parmetros se describen abajo. Puedes revisar despus los parmetros haciendo doble clic en la accin.

La informacin sobre las acciones est disponible en los siguientes temas: Acciones de movimiento Acciones principales, grupo 1 Acciones principales, grupo 2 Acciones de control Acciones de score Acciones de dibujo Usando expresiones y variables

Acciones de movimientoEl primer grupo de acciones consiste de aquellas relacionadas al movimiento de objetos. Tenemos las siguientes:

Start moving in a direction Usa esta accin para que la instancia empiece a moverse en una direccin en particular. Puedes indicar la direccin usando las flechas. Usa el botn del medio para detener el movimiento. Tambin debes especificar la velocidad de movimiento. Esta velocidad est dada en pixels por paso. El valor por defecto es de 8. De preferencia no uses valores de velocidad negativos. Puedes especificar mltiples direcciones. En este caso se elige una al azar. De esta forma puedes por ejemplo hacer que un enemigo se mueva hacia la izquierda o hacia la derecha.

Set direction and speed of motion Esta es la segunda forma en la que puedes especificar un movimiento (con las flechas azules). Aqu puedes indicar una direccin con ms precisin. Con un ngulo de entre 0 y 360 grados. 0 significa hacia la derecha. La direccin es contra las manecillas del reloj. As por ejemplo 90 indica la direccin hacia arriba. Si quieres una direccin arbitraria, puedes poner random(360). Como vers ms abajo la funcin random da un nmero al azar menor que el valor indicado. Como podrs haber notado hay una casilla llamada Relative. Si la seleccionas, el nuevo movimiento es sumado al anterior. Por ejemplo, si la instancia se est moviendo hacia arriba y le agregas un pequeo movimiento hacia la izquierda, el nuevo movimiento ser hacia arriba y a la izquierda.

Move towards a point Esta accin da otra manera de especificar un movimiento. Usted indica una posicin y una velocidad y la instancia comienza a moverse con la velocidad seleccionada hacia la posicin establecida (la instancia no se detendr en la posicin!). Por ejemplo, tu quieres que una bala vuele hacia la posicin de una nave espacial (llamada spaceship), puedes usar como posicin spaceship.x, spaceship.y (Aprender ms sobre el uso de variables como stas ms adelante). Si marcas la casillaRelative, puede especificar la posicin relativa para la posicin actual de la instancia. (La velocidad no es tomada como relativa!)

Set the horizontal speed La velocidad de una instancia consiste de una parte horizontal y otra vertical. Con esta accin puedes cambiar la velocidad horizontal. Una velocidad horizontal positiva representa movimiento hacia la derecha. Una negativa movimiento hacia la izquierda. La velocidad vertical permanecer constante. Usa la opcin Relative para incrementar la velocidad horizontal (o disminuirla introduciendo un valor negativo).

Set the vertical speed De manera similar, con esta accin puedes cambiar la velocidad vertical de la instancia

.

Set the gravity Con esta accin puedes especificar una gravedad para un objeto en particular. Especificas una direccin (un ngulo entre 0 y 360 grados) y una velocidad, y a cada paso esta cantidad de velocidad en la direccin especificada se aumenta al movimiento actual de la instancia del objeto. Normalmente necesitas un muy pequeo incremento de velocidad (como 0.01). Normalmente se emplea una direccin hacia abajo (270 grados). Si seleccionas la casilla Relative incrementas la velocidad de gravedad y la direccin. Nota que, contrario a la vida real, diferentes objetos pueden tener diferentes direcciones de gravedad.

Reverse horizontal direction Con esta accin inviertes el movimiento horizontal de la instancia. Esto lo puedes usar por ejemplo cuando el objeto colisiona con una pared vertical.

Reverse vertical direction Con esta accin inviertes el movimiento vertical de la instancia. Esto lo puedes usar por ejemplo cuando el objeto colisiona con una pared horizontal.

Set the friction La friccin disminuye la velocidad de las instancias cuando se mueven. Puedes especificar la cantidad de friccin. En cada paso esta cantidad se resta de la velocidad hasta llegar a 0. Normalmente usas un nmero muy pequeo (como 0.01).

Jump to a given position Usando esta accin puedes colocar una instancia en una posicin en particular. Simplemente especificas las coordenadas x e y, y la instancia es colocada con su punto de referencia en esa posicin. Si la casilla Relative est marcada, la posicin es relativa a la posicin actual de la instancia. Esta accin es usada a menudo para continuamente mover la instancia. En cada pasa incrementaremos la posicin un poco.

Jump to the start position Esta accin coloca la instancia de vuelta a la posicin donde fue creada.

Jump to a random position Esta accin mueve la instancia a una posicin aleatoria cuarto. Solo se usan posiciones en donde la instancia no intercepte ninguna instancia slida. Puedes especificar la rapidez (snap) usada. Si especificas valores positivos, las coordenadas sern elegidas con mltiplos enteros de los valores indicados. Esto puede ser usado por ejemplo para mantener una instancia alineada con las celdas de tu juego (si la hay). Puedes especificar la rapidez horizontal y la vertical por separado.

Snap to grid Con esta accin puedes alinear la posicin de una instancia a una cuadrcula. Puedes indicar los valores horizontal y vertical (esto es, el tamao de las celdas de la cuadrcula). Esto puede ser muy til para asegurarte que las instancias se mantengan en una cuadrcula.

Wrap when moving outside Con esta accin puedes hacer que cuando una instancia salga del room por un lado, aparezca por el lado contrario (teleportacin). Normalmente esta accin se usa en el evento Outside room. Observa que la instancia debe tener una velocidad para que esta accin funcione, porque la direccin en la que reaperece se basa en la direccin de movimiento. Puedes indicar si quieres que la instancia se teleporte slo horizontalmente, slo verticalmente o en ambas direcciones a la vez.

Move to contact position Con esta accin puedes mover la instancia en una direccin dada hasta que se encuentre tocando a otro objeto. Si ya hay colisin en la posicin actual la instancia no se mueve. En caso contrario, la instancia se coloca justo antes de que ocurra una colisin. Puedes especificar la direccin y la mxima distancia que se debe mover la instancia. Por ejemplo, cuando la instancia se est cayendo puedes moverla una distancia mxima hasta que encuentre un objeto. Tambin puedes hacer que se tengan en cuenta slo los objetos slidos o todos. Normalmente esta accin se pone en el evento colisin para asegurarte de que la instancia deje de moverse al chocar con el otro objeto.

Bounce against objects Cuando colocas esta accin en el evento collision de algn objeto, la instancia rebota en este objeto de manera natural. Si configuras el parmetro precise como falso, slo las paredes horizontales y verticales se tratan correctamente. Cuando configuras precise a verdadero tambin se tratan las paredes inclinadas (y an las curvadas) de manera correcta. Sin embargo esto es ms lento. Tambin puedes indicar si el objeto rebotar solo contra objetos slidos o contra todos los objetos. Por favor nota que el rebote no es completamente correcto porque depende de muchas propiedades. Pero en muchas situaciones el efecto es lo suficientemente bueno

.

Acciones principales, grupo 1El siguiente grupo de acciones est relacionado con la creacin, el cambio y la destruccin de las instancias de objetos.

Create an instance of an object Con esta accin puedes crear una instancia de un objeto. Debes especificar el objeto a crear y la posicin para la nueva instancia. Si marcas la casilla Relative, la posicin es relativa a la posicin de la instancia actual. La creacin de instancias durante el juego es muy til. Una nave crea balas; una bomba puede crear una explosin, etc. En muchos juegos tendrs un objeto de control que cada cierto tiempo crear enemigos u otros objetos. El evento de creacin es ejecutado para la nueva instancia al crearse.

Create an instance of an object with a speed and direction Esta accin es la misma que la anterior pero con dos campos adicionales. Puedes especificar la velocidad y direccin de la instancia que se crear. Si usas la opcin Relative slo afectar a la posicin y no a la velocidad ni direccin. Por ejemplo, para hacer que una bala se mueva en la misma direccin que el personaje que la crea usa un pequeo truco: activa la opcin Relative e introduce la posicin 0,0. En el campo de direccin, introduce la palabra

direction, que es la direccin en la que se mueve el personaje que dispara la bala.

Create instance of random object Esta accin te permite crear una instancia de uno de hasta cuatro objetos elegidos aleatoriamente. Especificas los cuatro objetos y la posicin y una instancia de uno de estos objetos se crear en la posicin elegida. Si usas Relative, la posicin ser relativa a la instancia que ejecute la accin. Si no quieres usar 4 objetos, puedes seleccionar No Object para los dems campos. Esta accin se puede usar para crear un enemigo de un tipo aleatorio en una posicin determinada.

Change the instance Con esta accin puedes cambiar la instancia actual por otro objeto. Por ejemplo, puedes cambiar una instancia de una bomba en una

explosin. Todos los parmetros, como el movimiento o los valores de variables, se mantendrn iguales. Puedes indicar si llevar a cabo o no el evento de destruccin para el objeto actual y el evento de creacin para el nuevo.

Destroy the instance Con esta accin destruyes la instancia actual. Esa instancia ejecuta el evento de destruccin de la instancia.

Destroy instances at a position Con esta accin puedes destruir todas las instancias cuya caja lmite contiene una posicin dada. Esto es til por ejemplo cuando empleas la explosin de una bomba. Cuando marcas la casilla Relative, la posicin es relativa a la posicin de la instancia actual.

Change the sprite Usa esta accin para cambiar el sprite de la instancia. Debes indicar un nuevo sprite. Tambin puedes indicar un factor de escalado. Un factor de 1 significa que el sprite no es escalado. El factor de escalado debe ser mayor que 0. Por favor recuerda que el escalado reducir la velocidad del dibujo. El cambio de sprites es una caracterstica importante. Por ejemplo, a menudo querrs cambiar el sprite de un personaje de acuerdo a la direccin a la que se dirige. Esto se puede lograr haciendo diferentes sprites para cada una de las (cuatro) direcciones. En los eventos del teclado para las teclas del cursor estableces la direccin de movimiento y el sprite.

Transform the sprite Usa esta accin para cambiar el tamao y orientacin del sprite de la instancia. Usa los factores de escale para hacer el sprite ms grande o pequeo. El ngulo (angle) indica la orientacin en sentido anti horario del sprite. Por ejemplo, para hacer que el sprite se oriente en la direccin del movimiento usa el valor

direction. Esto es muy til para un juego de coches, por ejemplo. Esta accin slo est

disponible en la funcin registrada.

Set sprite blending Normalmente el sprie se dibuja como se ha definido. Usando esta funcin puedes cambiar el color del sprite. Este color se combina con los colores del sprite Si quieres dibujar un sprite en varios colores debes definir el sprite en blanco y negro y usar el color para definir la nueva apariencia del sprite. Tambin puedes indicar una transparencia (alpha): 0 significa totalmente transparente y 1 totalmente opaco. Con un valor intermedio (Ej.: 0.5) conseguirs que se pueda ver el fondo a travs del sprite. Esto es muy til para explosiones. Esta accin slo est disponible en la funcin registrada.

Play a sound Con esta accin reproduces uno de los recursos de sonido que agregaste al juego. Puedes indicar el sonido a reproducir y si debiera reproducirse solo una vez (el valor por defecto) o hacerlo continuamente Se pueden reproducir varios archivos wave al mismo tiempo, pero slo puede reproducirse un midi a la vez. As que si inicia el sonido de un midi, el midi actual se detiene. A menos que el sonido tenga mltiples buffers slo se puede reproducir una instancia del sonido. Por lo que si el mismo sonido se est reproduciendo, se detiene y vuelve a empezar

.

Stop a sound Esta accin detiene el sonido indicado. Si hay varias instancias del sonido reproducindose, todas son detenidas.

If a sound is playing Si el sonido indicado est sonando la accin siguiente se ejecuta. Si no, la accin siguiente se ignora. Puedes seleccionar Not para que acte al revs (es decir, si el sonido no est la accin se ejecuta). Por ejemplo, puedes comprobar si est sonando la msica de fondo y si no est sonando, haces que empiece a sonar otra cancin. Esta accin devuelve true cuando el sonido suena por los altavoces. Cuando usas la accin de hacer sonar un sonido tarda un poco hasta que el sonido llega a los altavoces y as que esta accin devolver false durante ese pequeo espacio de tiempo. Cuando detienes un sonido, tampoco se para instantneamente as que la accin tardar un poco en devolver false,

Go to previous room Ir al cuarto anterior. Puedes indicar el tipo de transicin entre los cuartos. Experimenta para que veas cul es el que te agrada. Si ests en el primer cuarto, se da un error.

Go to next room Ir al siguiente cuarto. Puedes indicar la transicin. Si ests en el ltimo cuarto da un error.

Restart the current room Se reinicia el cuarto actual. Puedes indicar el efecto de transicin.

Go to a different room Con esta accin vas a un cuarto en particular. Puedes indicar el cuarto y el efecto de transicin.

If previous room exists Esta accin verifica si existe el cuarto anterior. Si es cierto, se ejecuta la siguiente accin. Normalmente necesitas hacer esta comprobacion antes de moverte al cuarto anterior.

If next room exists Esta accin verifica si existe el siguiente cuarto. Si es cierto, se ejecuta la siguiente accin. Normalmente necesitas hacer esta comprobacion antes de moverte al siguiente cuarto.

Acciones principales, grupo 2Aqu tenemos algunas acciones ms, relacionadas con el tiempo, mostrar mensajes al usuario, y al juego en conjunto.

Set an alarm clock Con esta accin puedes configurar uno de los doce relojes de alarma para la instancia. Puedes indicar el nmero de pasos y la alarma. Despus del nmero indicado de pasos, la instancia recibir el correspondiente evento de alarma. Tambin puedes incrementar o decrementar el valor marcando la casilla Relative. Si configures la alarma a un valor menor o igual que 0 la desactivas, por lo que no se genera el evento.

Sleep for a while Con esta accin puede congelar la escena por un cierto tiempo. Esto usualmente se usa al inicio de un nivel o cuando le das algn mensaje al jugador. Especificas el nmero de milisegundos a pausar. Tambin indicas si la pantalla debiera ser dibujada primero para mostrar la situacin ms reciente.

Display a message Con esta accin puedes mostrar un mensaje en una ventana de dilogo. Simplemente tecleas el mensaje. Si usas el smbolo # en el texto del mensaje ser interpretado como un carcter de nueva lnea (usa \# para obtener el smbolo #). Si el mensaje empieza con una comilla o dobles comillas, se interpreta como una expresin. Ve el team correspondiente sobre las expresiones.

Show the game information Con esta accin puedes mostrar la ventana de informacin del juego.

Restart the game Con esta accin puedes reiniciar el juego desde el principio.

End the game Con esta accin termina el juego.

Save the game Con esta accin puedes guardar el estado actual del juego. Especificas el nombre del archivo a guardar (el archivo es creado en la carpeta de trabajo del juego). Despus el juego puede ser cargado con la siguiente accin (observa que cosas como el sonido que est sonando, los contenidos de las estructuras de datos, partculas, etcno se cargarn).

Load the game Carga el estado del juego desde un archivo. Aqu especificas el nombre del archivo. Asegrate de que el juego guardado corresponde al mismo juego y que fue creado con la misma versin del Game Maker. De otra manera pudiera haber errores (para ser precisos, el juego se carga en el evento step actual. Por lo que an se realizan algunas acciones despus de esta an son realizadas en el juego actual, no en el cargado!).

Acciones de controlHay varias acciones con las que puedes controlar qu otras acciones se llevan a cabo. La mayora de estas acciones hacen una pregunta, por ejemplo si es que una posicin est vaca. Cuando la respuesta es yes (true) se ejecuta la siguiente accin, de otra forma se salta esa accin. Si quieres que se ejecuten o salten varias acciones basndote en el resultado puedes colocarlas dentro de un bloque. Tambin puede haber una parte else, la cual se ejecuta cuando la respuesta es no. As, una pregunta normalmente tiene la siguiente estructura:

Aqu se pregunta si una posicin para la instancia actual est libre de colisin. De ser as, la instancia comienza a moverse en una direccin dada. Si no, la instancia es movida a una posicin dada. Para todas las preguntas hay un campo marcado NOT. Si lo marcas, el resultado de la pregunta se invierte. Esto es, si el resultado era verdadero se vuelve falso, y si era falso, se vuelve verdadero. Esto te permite realizar ciertas acciones cuando una pregunta no es verdadera. Para muchas preguntas puedes indicar si deben aplicar a todas las instancias de un objeto en particular. En este caso el resultado es verdadero solo si es verdadero para todas las instancias del objeto. Por ejemplo, puedes checar si para todas las pelotas la posicin ligeramente a la derecha est libre de colisin.

Las siguientes preguntas y acciones relacionadas estn disponibles. (Nota que todas ellas tienen un icono con forma y color de fondo diferentes de manera que puedan ser distinguidos ms fcilmente de otras acciones). If a position is collision free Esta pregunta devuelve verdadero si la instancia actual, colocada en la posicin indicada no provoca una collision con algn objeto. Puedes especificar si la posicin es absoluta o relativa. Puedes tambin indicar si solo los objetos slidos o todos los objetos debieran ser tomados en cuenta. Esta accin es normalmente empleada para checar si la instancia se puede mover a una posicin en particular.

If there is a collision at a position Esta es la inversa de la accin anterior. Devuelve verdadero si hay una colisin cuando la instancia actual es colocada en la posicin indicada (de nuevo, ya sea slo con objetos slidos o con toda clase de objetos).

If there is an object at a position Esta pregunta devuelve verdadero si la instancia colocada en la posicin indicada encuentra una instancia del objeto indicado.

If the number of instances is a value Especificas un objeto y un nmero. Si el nmero de instancias del objeto es igual al nmero la pregunta devuelve verdadero. De otra forma devuelve falso. Puedes tambin indicar que la revisin debiera ser si el nmero de instancias es menor o mayor que el valor. Esto se usa normalmente para checar si todas las instancias de un tipo en particular han desaparecido. Este es normalmente el momento de terminar el nivel o el juego.

With a change perform next action Especificas el nmero de lados del dado. Entonces si el dado cae en uno, el resultado es verdadero y se realiza la accin. Esto se puede emplear para agregar cierta aleatoriedad en tu juego. Por ejemplo, en cada paso puedes generar con cierta probabilidad una bomba o un cambio de direccin. Entre mayor sea el nmero de lados del dado, la probabilidad es menor. Puedes emplear nmeros reales. Por ejemplo, si configuras el nmero de lados a 1.5 la siguiente accin se realizar dos de tres veces. El emplear un nmero menor que 1 no tiene sentido.

If the user answers yes to a question Especificas una pregunta. Se muestra una ventana de dilogo al usuario con dos botones: Yes y No. El resultado es verdadero si el jugador contesta Yes.

If an expression is true Puedes introducir una expresin. Si la expresin se evala como verdadera (esto es, un nmero mayor o igual a 0.5) se realizar la siguiente accin. Ve ms abajo para ms informacin sobre las expresiones.

If a mouse button is pressed Devuelve verdadero si el botn indicado del ratn es presionado. Un uso estndar est en el evento paso. Puedes checar si un botn del ratn est presionado, y si es as, por ejemplo moverte a esa posicin (usa la accin jump to a point con los valores

mouse_x

y

mouse_y).

If instance is aligned with grid Devuelve verdadero si la posicin de la instancia se encuentra sobre una cuadrcula. Especificas el espaciado horizontal y vertical de la cuadrcula. Esto es muy til cuando ciertas acciones, como el dar una vuelta, no son permitidas cuando se est alineado a una posicin en la cuadrcula.

Start of block Indica el inicio de un bloque de acciones.

End of block Indica el final de un bloque de acciones.

Else Detrs de esta accin sigue el else, que se ejecuta cuando el resultado de la pregunta es falso. Repeat next action Esta accin se emplea para repetir la siguiente accin (o bloque de acciones) cierto nmero de veces. Puedes simplemente indicar el nmero.

Exit the current event Cuando se encuentra esta accin, no se realiza ninguna otra en el evento. Normalmente se emplea despus de una pregunta. Por ejemplo, cuando una posicin est libre no se necesita hacer nada por lo que salimos del evento. En este ejemplo, las acciones siguientes son solo ejecutadas cuando hay una colisin.

Si deseas ms control sobre lo que est ocurriendo en el juego puedes uar el lenguaje de programacin de Game Maker, el GML, que se explica en la segunda parte del manual. Te da mucha ms flexibilidad que usando las acciones, gracia a que puedes usar tus propias variables. Las acciones siguientes se ocupan de esto: Execute a piece of code Cuando agregas esta accin, se muestra una ventana en la que puedes introducir una pieza de cdigo. ste funciona en la misma forma que definir scripts. La nica diferencia es que puedes indicar para qu instancias se debe ejecutar el cdigo. Usa esta accin para pequeas piezas de cdigo. Para piezas ms largas se te recomienda usar scripts.

Comment Usa esta accin para agregar una lnea de comentarios a la lista de acciones. La lnea se muestra en fuente cursiva. No hace nada cuando se ejecuta el evento. El agregar comentarios te ayuda a recordar lo que ests haciendo en tus eventos.

Set the value of a variable Hay muchas variables internas en el juego. Con esta accin puedes cambiar sus valores. Tambin puedes crear tus propias variables y asignarles valores. Indicas el nombre de la variable y un nuevo valor. Cuando seleccionas la opcin Relative, el valor se suma al valor actual de la variable. Por favor nota que esto slo puede usarse si la variable ya tiene un valor asignado!. Ve ms adelante para ms informacin sobre las variables.

If a variable has a value Con esta accin puedes checar cul es el valor cierta variable. Si el valor de la variable es igual al nmero introducido, la pregunta

devuelve true. En cualquier otro caso devuelve false. Puedes indicar si se checar si la el valor es menor o mayor que el dado. Ve abajo para ms informacin sobre las variables. De hecho, tambin puedes usar esta accin para comparar dos expresiones.

Draw the value of a variable Con esta accin puedes dibujar el valor de una variable en cierta posicin de la pantalla. Esta accin slo se puede usar en el evento Draw.

Acciones de scoreEn la mayora de los juegos el jugador tendr cierto score. Tambin muchos juegos le dan al jugador cierto nmero de vidas. Finalmente, a menudo el jugador cuenta con cierto nivel de energa. Las siguientes acciones permiten manejar de manera sencilla el score, las vidas y la energa del jugador.

Set the score Game Maker tiene un mecanismo interno de score. El score normalmente se muestra en el ttulo de la ventana. Puedes usar esta accin para cambiar el score. Simplemente introduces un nuevo valor para ste. A menudo querrs agregar puntos al score. En este caso no olvides seleccionar la opcin Relative.

If score has a value Con esta pregunta puedes checar si el score ha alcanzado un valor en particular. Puedes indicar el valor y si el score debe ser igual, menor o mayor a ese valor.

Draw the value of score Con esta accin puedes dibujar el valor del score en cierta posicin de la pantalla. Proporcionas la posicin y el ttulo que se mostrar antes del score. El score se dibuja con la fuente actual. Esta accin slo puede emplearse en el evento draw de algn objeto.

Display the highscore table Cada juego guarda los diez mejores scores. Esta accin muestra la lista de rcords. Si el score actual est entre los mejores diez, el nuevo score se inserta y el jugador puede introducir su nombre. Puedes indicar la imagen de fondo a usar, si la ventana tendr borde, el color para la nueva y las otras entradas, y la fuente a emplear.

Clear the highscore table Esta accin vaca la tabla de rcords.

Set the number of lives El Game Maker tambin cuenta con un sistema interno de vidas. Con esta accin puedes cambiar el nmero de vidas que quedan. Normalmente lo pones a un valor como 3 al inicio del juego y lo aumentas o disminuyes dependiendo de lo que ocurra. No olvides

seleccionar la opcin Relative si deseas agregar o restar al nmero de vidas. En el momento en que el nmero de vidas llegue a 0 ( menos que 0) se genera un evento no more lives.

If lives is a value Con esta pregunta puedes checar si el nmero de vidas ha llegado a un cierto valor. Puedes indicar el valor y si el nmero de vidas debe ser igual, menor o mayor a ese valor.

Draw the number of lives Con esta accin puedes dibujar en pantalla en nmero de vidas. Das la posicin y el ttulo que se colocar antes del nmero de vidas. El nmero de vidas se dibuja con la fuente actual. Esta accin slo puede ser usada en el evento draw de algn objeto.

Draw the lives as image En lugar de indicar el nmero de vidas con un nmero, es mejor usar pequeas imgenes para indicar las vidas. Esta accin hace eso precisamente. Especificas la posicin y la imagen, y en la posicin indicada se dibuja el nmero de vidas como imgenes. Esta accin slo puede emplearse en el evento draw de un objeto.

Set the health Game Maker tiene un mecanismo interno de energa. Puedes emplear esta accin para cambiar la energa. Un valor de 100 se considera como energa completa y 0 es sin energa. Simplemente das un nuevo valor para la energa. A menudo querrs restar algo a la energa. En este caso no olvides seleccionar la opcin Relative. Cuando la energa sea igual o menor que 0 se genera un evento out of health.

If health is a value Con esta pregunta puedes checar si la energa ha alcanzado cierto valor. Indicas el valor y si la energa debe ser igual, menor o mayor que ese valor.

Draw the health bar Con esta accin puedes dibujar la energa en forma de una barra. Cuando la energa es 100 la barra es dibujada completa. Cuando es 0 la barra est vaca. Puedes indicar la posicin y el tamao de la barra de energa y el color para la barra y el fondo de la misma.

Set the window caption information Normalmente en el ttulo de la ventana se muestra el nombre del cuarto y el score. Con esta accin puedes cambiar esto. Puedes indicar si se muestra o no el score, las vidas, la energa y los ttulos para estas opciones.

Acciones de dibujo

Normalmente, a cada instancia se le dibuja su sprite en cada paso del juego. Puedes cambiar esto poniendo acciones en el evento draw de un objeto. Observa que estas acciones slo se ejecutarn si estn colocadas en el evento draw y la instancia es visible, en cualquier otro caso simplemente se ignoran.

Draw a sprite image Indicas el sprite, la posicin (ya sea absoluta o relativa a la posicin actual de la instancia) y la subimagen del sprite. (Las subimgenes estn numeradas de 0 hacia arriba). Si quieres dibujar la subimagen actual, usa el nmero 1.

Draw a background image Indicas la imagen de fondo, la posicin (absoluta o relativa) y si la imagen debe o no repetirse en todo el cuarto.

Draw a text Indicas el texto y la posicin. Un smbolo # en el texto se interpreta como el inicio de una nueva lnea. (Usa \# para mostrar el smbolo #). Por lo que puedes crear texto multilnea. Si el texto inicia con comilla simple o doble, es interpretado como una expresin. Por ejemplo, puedes usar

'X: ' + string(x)para mostrar el valor de la coordenada x de la instancia. (La variable x guarda la coordenada x actual. La funcin string() convierte este nmero en una cadena. + combina las dos cadenas).

Draw a text transformed Esta accin es similar a la accin anterior pero en este caso puedes escalar el texto vertical y horizontalmente y rotarlo un ngulo determinado. Esta accin slo est disponible en la versin registrada.

Draw a rectangle Indicas las coordenadas de las dos esquinas opuestas del rectngulo, ya sean absolutas o relativas a la posicin actual de la instancia.

Draw a horizontal gradient Esta accin tambin dibuja un rectngulo pero lo rellena con un degradado de izquierda a derecha. Tienes que especificar las coordenadas del rectngulo y los dos colores para el degradado. Esta accin slo est disponible en la versin registrada.

Draw a vertical gradient Esta accin es igual que la anterior pero el degradado es de abajo a arriba. Esta accin slo est disponible en la versin registrada.

Draw an ellipse Indicas las coordenadas de las dos esquinas opuestas del rectngulo alrededor de la elipse, ya sean absolutas o relativas a la posicin actual de la instancia.

Draw a gradient ellipse Igual que la anterior pero puedes especificar un color para el centro y otro para el borde para rellenar la elipse con un degradado. Esta accin slo est disponible en la versin registrada.

Draw a line Indicas las coordenadas de los dos extremos de la lnea; ya sean absolutas o relativas a la posicin actual de la instancial.

Draw an arrow Dibuja una flecha. Puedes especificar las coordenadas del principio y final de la fecha y el tamao de la punta.

Set the colors Te permite seleccionar el color usado para rellenar los rectnguos y elipses, y el color empleado para las lneas alrededor de los rectngulos y elipses y para dibujar una lnea.

Change fullscreen mode Con esta accin puedes cambiar el modo de la pantalla de ventana a pantalla completa y viceversa. Puedes indicar si se cambia entre modos o si cambiar a modo de ventana o a modo a pantalla completa.

Take a snapshot image of the game Puedes sacar una foto de la pantalla y guardarla como una imagen .bmp. Debes especificar el nombre del archivo donde se guardar la imagen. Esta accin slo est disponible en la versin registrada.

Create an effect Con esta accin puedes crear varios efectos de una manera sencilla. Especificas el tipo de efecto (explosion, humo,), su posicin, tamao y color y si debe dibujarse sobre los objetos o bajo ellos. Todo lo dems es automico (para el efecto de lluvia la posicin es irrelevante porque siempre cae desde la parte superior de la pantalla. Para conseguir lluvia continua debes llamar a esta accin desde el evento step). Esta accin slo est disponible en la versin registrada.

Usando expresiones y variablesEn muchas acciones necesitas especificar valores para los parmetros. En lugar de escribir un nmero, puedes poner una frmula (ejemplo: 32*12). Pero tambin puedes proporcionar expresiones mucho ms complicadas. Por ejemplo, si quieres doblar la velocidad horizontal, puedes poner

2*hspeed. En esta expresin hspeed es una variable que se refiere a la velocidad horizontal actual de la instancia.

Tambin hay otras variables que puedes usar, las ms importantes son las siguientes: x coordenada x de la instancia

y coordenada y de la instancia hspeed velocidad horizontal (en pxeles por step) vspeed velocidad vertical (en pxeles por step) direction direccin actual en grados (de 0 a 360) speed velocidad actual en esta direccin visible si el objeto es visible (1) o no (0) image_index esta variable indica qu subimagen del sprite se est dibujando. Si pones la variable image_speed a 0 puedes mostrar una imagen fija, parando la animacin del sprite. image_speed indica la velocidad con la que las subimgenes del sprite cambian durante la animacin. Por defecto vale 1. Si pones un valor mayor a 1 algunas subimgenes de la animacin se saltan y de la impresin de que la animacin va ms rpido. Si lo haces menor que 1 las subimgenes se repiten y da la impresin de que la animacin va ms lenta. score valor actual del score lives nmero actual de vidas health health actual (0-100) mouse_x posicin x del ratn mouse_y posicin y del ratn Puedes cambiar casi todos estos valores usando la accin set variable. Tambin puedes definir tus propias variables simplemente dndoles un valor (no uses la opcin relative al hacer esto, pues todava no existe esa variable). Tambin puedes usarlas luego en expresiones. Las variables que creas son variables locales de la instancia, es decir, cada objeto tiene la suya propia distinta a la de los dems. Para crear una nica variable para todos, pon global seguido de un punto delante del nombre de la variable.

Tambin puedes acceder a las variables de los dems objetos poniendo el nombre del objeto, un punto y el nombre de la variable a la que quieres acceder. Por ejemplo, para mover una pelota al lugar donde hay una moneda puedes dar a la posicin los valores (moneda.x , usando etc.

moneda.y). En caso de colisin, puedes acceder a las variables del otro objeto (el objeto contra el que ests chocando)

other.nombre_de_la_variable. En expresiones condicionales puedes usar comparaciones como < (menor que), >,

Por ltimo, tambin puedes usar funciones. Por ejemplo, la funcin

random(10) devuelve un nmero real menor que 10. As, puedes

hacer que la velocidad o la direccin tomen este valor. Existen muchas ms funciones que se describen en la parte del manual dedicada al GML.

Creando roomsAhora que has definido los objetos con su comportamiento en forma de eventos y acciones, es hora de crear los cuartos o niveles en los que se llevara a efecto el juego. Cualquier juego requerir al menos un cuarto. En estos cuartos colocamos instancias de los objetos. Una vez que el juego inicia se muestra el primer cuarto y las instancias en l

toman vida por las acciones en sus eventos de creacin.

Hay un gran nmero de posibilidades al crear cuartos. Adems de establecer ciertas propiedades y agregar las instancias de los objetos puedes agregar fondos, definir vistas, y agregar tiles. La mayora de estas opciones se discuten ms adelante en el Captulo 20. en este captulo solamente discutiremos las opciones bsicas, el agregar instancias de

objetos y la configuracin de las imgenes de fondo.

Para crear un cuarto, selecciona Add Room en el menu Add. Se muestra la siguiente ventana:

En la parte superior de la ventana hay una barra de herramientas. Desde ella puedes indicar el tamao de las celdas de la rejilla usada para alinear objetos, si deben mostrarse o no los fondos,...A veces es til ocultar temporalmente algunos elementos del room. Observa que cuando ests aadiendo instancias de ojetos stas siempre se mostrarn, independientemente de la configuracin de las vistas. Tambin hay botones para eliminar todas las instancias del room o para moverlas una cantidad determinada de pxeles. Usa valores negativos para moverlas hacia arriba o a hacia la izquierda. Esto es muy til cuando decides agrandar el cuarto (o para situar instancias fuera del room).

Finalmente estn los botones Undo para deshacer los cambios y OK para guardarlos (usa la cruz en la esquina superior derecha para cerrar la ventana sin guardar los cambios).

A la izquierda hay tres fichas (cinco en modo advanced). La ficha objects es donde puedes agregar instancias de los objetos al cuarto. En la ficha settings puedes indicar varias opciones para el cuarto. En la ficha backgrounds puedes configurar las imgenes de fondo para el cuarto.

Aadiendo instanciasA la derecha en la ventana de diseo puedes ver el cuarto. Al principio est vaco, con un fondo gris.

Para agregar instancias al cuarto, primero selecciona la ficha objects si no est visible. A continuacin selecciona el objeto que deseas agregar haciendo click en el botn con icono de un menu (o haciendo clic en el rea de imagen a la izquierda). La imagen del objeto aparece a la izquierda. (observa que hay una cruz en la imagen. Esta indica cmo se

alinearan las instancias con la cuadrcula). Ahora haz click con el botn izquierdo del ratn en el rea a la derecha. Aparece una instancia del objeto. sta se alinear a la cuadrcula indicada. Si mantienes presionada la tecla mientras colocas la instancia no se alinear a la cuadrcula. Si mantienes presionado el botn mientras mueves el ratn puedes mover la instancia sobre la room hasta una nueva posicin. Si pulsas mientras pulsas el botn y mueves el ratn aadirs varias instancias a la vez. Con el botn derecho del ratn puedes eliminar las instancias. De esta manera es como defines el contenido del cuarto. Si mantienes presionado el botn mientras lo arrastras sobre el cuarto, eliminars varias instancias.

Como te dars cuenta, si colocas una instancia sobre otra, la primera desaparece. Normalmente ser lo que desees, pero no siempre. Esto puede evitarse al deshabilitar la opcin Delete underlying a la izquierda.

Si quieres cambiar la posicin de una instancia pulsa la tecla y pincha con el botn izquierdo del ratn. Sin solta ninguna de las dos teclas puedes arrastrar la instancia a una nueva posicin (usa para posicionarlo con mayor precisin).

Si mantienes pulsado mientras pinchas con el botn derecho sobre una instancia aparece un men. Desde este men puedes borrar la instancia, especificar un posicionamiento preciso o mover la instancia al frente sobre todas las dems o al fondo bajo el resto.

Configuracin del roomCada cuarto tiene ciertas opciones que puedes cambiar haciendo click en la ficha settings. Slo trataremos las ms importantes aqu.

Cada cuarto tiene un nombre, mejor dale uno con sentido. Tambin hay un ttulo. Este ttulo se muestra en la ventana cuando se ejecuta el juego. Puedes establecer el ancho y alto del cuarto (en pxeles). Tambin puedes configurar la velocidad del juego. Este es el nmero de pasos por segundo. Cuanto mayor sea la velocidad, ms suave ser el movimiento. Pero necesitars una computadora ms rpida para ejecutarlo.

Configurando el fondoCon la ficha backgrounds puedes establecer la imagen de fondo para el cuarto. De hecho, puedes indicar varios fondos. La ficha se ve como sigue:

En la parte superior versa el color de fondo. Puedes hacer clic sobre este para cambiarlo. El color de fondo slo es til si no usas una imagen de fondo que cubra todo el cuarto. De otra forma, mejor deshabilita la opcin Draw background color ya que significara una prdida de tiempo.

Arriba vers una lista de 8 fondos. Puedes definir cada uno de ellos pero la mayora de las veces slo necesitaras uno dos. Para definir un fondo, primero selecciona uno en la lista. A continuacin marca la opcin Visible when room starts o de otra forma no lo vers. El nombre del fondo se pondr en negritas cuando est definido. Ahora indica una

imagen de fondo en el menu. Hay ciertas opciones que puedes cambiar. Primero de todo puedes indicar si la imagen de fondo se repetir horizontal y/o verticalmente. Puedes tambin indicar la posicin del fondo en el cuarto (esto tambin influir el tiling). Otra opcin es usar la opcin Stretch para que el fondo ocupe toda la pantalla (puede distorsionar la imagen). Finalmente puedes hacer que el fondo se desplace dndole una velocidad horizontal o vertical (pxeles por step). No se recomienda dar velocidad al fondo si usas l