SlideShare a Scribd company logo
1 of 46
Download to read offline
[TUTORIAL BASICO EN GAME MAKER 8]
En este tutorial se aprenderá el uso de Game Maker 8 a nivel básico para todos aquellos que le s
gustaría utilizar este programa.


                                                         Biografía:

                                                         Autor: Henrydarklite
                                                         Edición: 1ra
                                                         Lugar: México
                                                         Páginas: 46
                                                         Fecha de publicación: Abril 2012
INDICE

Uso básico



•      Introducción

•      Instalación

•      Componentes de la versión Pro de Game Maker

•      Primeros pasos

•      La interfaz de usuario

•      Definiendo los sprites

•      Sonidos y música

•      Fondos

•      Definiendo objetos

•      Eventos

•      Acciones

•      Creando rooms

•      Distribuir tu juego
Uso Básico
Descripción del uso básico de Game Maker, explica la idea general del programa: como añadir
sprites, fondos o sonidos, así cómo definir objetos con eventos y acciones para añadirlos a las
rooms.

Introducción

Creando tus propios videojuegos

Jugar a videojuegos es divertido, pero aún lo es más diseñar los tuyos propios y que otros los
jueguen. Por desgracia, crear videojuegos no es fácil. Los juegos comerciales de hoy en día se
desarrollan en de 1 a 3 años con equipos muy especializados de entre 10 a 50 personas y
presupuestos de millones de euros.

¿Quiere esto decir que es imposible crear tus propios videojuegos?
No, con Game Maker puedes crearlos sin necesidad de aprender ningún lenguaje de
programación. Eso sí, no esperes conseguir tu propio Halo 4 o el Virtual Tennisen pocas semanas,
aunque tampoco es necesaria tanta complejidad para que sean divertidos. Juegos más simples
como el Tetris, Pacman, Space Invaders,... son igualmente divertidos y más fáciles de desarrollar.

Game Maker te ofrece una sencillo e intuitivo sistema de "arrastrar y soltar" que te permite crear
juegos de forma rápida. Puedes importar y crear imágenes, sprites (imágenes animadas) y sonidos,
indicar cómo interactúan entre ellos y situarlos en las distintas rooms (salas) donde se desarrolla el
juego, y todo esto sin necesidad de programar. Si más adelante quieres mayor control también
dispones de un sencillo lenguaje de programación para controlar todos los elementos.

Game Maker está pensado para desarrollar juegos bidimensionales (2D), así que si quieres crear
mundos en 3D este no es tu programa. Juegos importantes como Age of Empires, las
series Command and Conquer y Diablo usan tecnologías de sprites 2D, aunque parezcan
tridimensionales y el desarrollo de este tipo de juegos es más fácil y rápido.

Este documento te ayudará a aprender el uso de Game Maker y como realizar videojuegos, pero
recuerda que sólo es una herramienta y hay muchos aspectos a tener en cuenta: historia del
juego, gráficos, sonidos, interacción,... Empieza con ejemplos fáciles, aprende más y pronto serás
un experto desarrollador. Disfruta del proceso creativo, comparte tus ideas y busca recursos en los
foros de las siguientes webs:

http://www.yoyogames.com/make
http://www. taringa.net/comunidades/aprendiendogamemaker/
Instalación

Ejecuta el programa setup.exe y sigue las instrucciones de pantalla. Puedes instalarlo donde
desees, pero te recomiendo dejar las opciones predeterminadas. Una vez instalado encontrarás un
nuevo grupo de programas en el menú Inicio, desde donde puedes arrancar Game Maker e leer el
archivo de ayuda.

Dentro de la carpeta de instalación (por defecto C:Archivos de ProgramaAPGMFGame Maker)
tenemos varias carpetas adicionales:

       Backgrounds: imágenes para los fondos.

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

       extensions: dónde se instalan las extensiones para ampliar la funcionalidad del programa.
       Por defecto ya vienen tres, una para imprimir (Printing), para hacer transiciones entre las
       rooms (Room Transitions) y para hacer diálogos de ventanas (Windows Dialogs).

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

       Sounds: sonidos de ejemplo.

       Sprites: sprites de ejemplo que puedes usar en tus juegos. La instalación ya incluye
       algunos.

       Tutorials: aquí se guardan los tutoriales que se pueden seguir dentro del programa, los
       que aparecen en el lateral derecho. Cada uno se guarda en una carpeta diferente.

Puedes descargar más recursos desde la web de Yoyo Games o de cualquier otra web.

Requisitos
Cualquier ordenador con menos de 5 años de antigüedad debería valer.

       Ordenador moderno con sistema operativo Windows.

       Tarjeta gráfica compatible con DirectX 8 o posterior con al menos 32 MB de memoria.

       Resolución de pantalla al menos de 800x600 pixeles y 65.000 colores (16-bit).

       Tarjeta de sonido compatible con DirectX 8.

Comprueba que tienes instalados los controladores más recientes de tu equipo.
Al diseñar y probar juegos, los requisitos de memoria son un poco más elevados, al menos 128
MB.
Al jugar, la memoria necesaria suele ser menor, pero depende del tipo de juego.
Componentes de la versión Pro de Game Maker




La versión Pro que es gratuita gracias al usuario bra101yan incluye:

        Sprites: podrás rotarlos, transformar su color o hacerlos translúcidos.

        Editor de sprites e imágenes con más opciones.

        Más acciones: cargar música desde un CD, rotar texto, crear formas de colores...

        Efectos especiales de sonido y sonido posicional.

        Crear pantallas de inicio con películas, imágenes, sitios web, textos...

        Sistema de partículas para crear efectos de fuego, lluvia, explosiones...

        Funciones avanzadas de dibujo como polígonos texturizados.

        Funciones para gráficos en 3D.

        Funciones para crear juegos multijugador o jugar en red.

        Podrás definir tus propias transiciones entre rooms.

        Funciones para crear y modificar recursos (sprites, fondos,...) durante el juego.

        Funciones para usar estructuras de datos.

        Funciones para planificar movimientos.

        Posibilidad de incluir más archivos en tiempo real durante el juego.

        La edición Pro puede ampliarse con extensiones, que pueden ser creadas por cualquiera y
        suelen ser gratis.

        Tres de esas extensiones ya están incluidas y añaden transiciones entre estancias, cuadros
        de diálogo y servicios de impresión.

        Podrás definir tus propios eventos triggers.

        Herramientas para crear juegos colaborativos, pudiendo importar y exportar recursos.
Primeros pasos

Crear tu primer juego siempre es un reto, pero si pones un poco de esfuerzo por tu parte, será
bastante más fácil. En una hora podrías tener listo un juego sencillo.

A pesar de que hacer juegos con Game Maker es muy sencillo, necesitarás comprender los
conceptos básicos del programa. Para conseguirlo te recomiendo seguir el tutorial que se muestra
a la derecha al empezar. Si no lo ves, vete al menú ayuda (Help) y escoge la opción Tutorial.

Conceptos básicos del programa
Los juegos creados con Game Maker se desarrollan en una o más rooms (salas) que es donde
colocarás los objetos, por ejemplo paredes, al protagonista o los enemigos. Algunos de estos
objetos son estáticos como las paredes, mientras otros, como el protagonista, se mueven e
interactúan con otros objetos reaccionando a las órdenes del jugador, que los controla mediante
el teclado, el ratón o el joystick. Estos elementos son los más importantes del juego.

La mayoría de los objetos necesitan alguna imagen para hacerse visibles en pantalla. Estas
imágenes se llaman sprites y pueden ser estáticos (una imagen) o animados (varias imágenes
simulando movimiento). De esta forma parece que el personaje camina, que una pelota rueda,
etc. Durante el juego el sprite de un objeto puede cambiar, por ejemplo el personaje se ve
diferente cuando camina a izquierda o a derecha. Puedes crear y editar sprites en el propio
programa o importarlos de otros, como GIFs animados.

Los objetos reaccionan a los diferentes tipos de eventos que hay y ejecutan las acciones que estén
asociadas a los mismos. Estos eventos les suceden a las instancias de los objetos, que son su
representación en pantalla. Por ejemplo, sólo tienes 1 objeto enemigo, pero puedes colocar el
número de instancias del objeto enemigo que desees. Al crear la instancia se ejecutan las acciones
asociadas al evento Crear, cuando choca contra otra instancia de objeto sucede el evento Colisión,
etc. Más adelante lo veremos en detalle.

Las rooms pueden ser empleadas como niveles del juego o para mostrar diferentes lugares y
tienen acciones propias que permiten pasar de unas a otras. Lo más básico es ponerle un fondo
que puede ser un color o una imagen. En cada room colocas el número de instancias que quieras
de los objetos definidos. Por ejemplo en la room A puedes colocar 4 instancias del objeto enemigo
y en la room B puedes colocar 6.

Ya puedes probar el juego. Se mostrará la primera room y los objetos cobrarán vida debido a las
acciones de sus eventos de creación, interactuarán unos con otros por las acciones asignadas a sus
eventos de colisión y reaccionarán a lo que haga el jugador porque tienen acciones en sus eventos
de teclado o ratón.

En resumen, los siguientes recursos tienen un papel fundamental en el proyecto:
Objetos (objects): son las entidades verdaderas en el juego.

        Rooms (salas): los lugares donde situamos los objetos.

        Sprites: imágenes que se emplean para representar a los objetos.

        Sonidos (sounds): como música de fondo o efectos sonoros.

        Fondos (backgrounds): las imágenes de fondo para las rooms.

Hay más recursos que se usan para juegos más complicados como los caminos (paths), guiones
(scripts), tipografías (fonts) o líneas de tiempo (time lines).

La interfaz del usuario

Al iniciar el Game Maker se muestra la siguiente ventana, junto con el primer tutorial a la derecha:




A la izquierda puedes ver un listado con los recursos: sprites, sonidos (sounds), fondos
(backgrounds), scripts, objetos (objects), salas (rooms) y dos más: Información del juego (Game
Information) y Opciones del juego (Game Options).

En la parte superior están el menú y la barra de herramientas. En este capítulo explicaremos
brevemente las opciones del menú, los botones, etc. Más adelante ampliaremos información
sobre algunos de ellos. Recuerda que muchas cosas se pueden lograr de diferen tes maneras:
seleccionando un comando del menú, haciendo clic en un botón o haciendo clic derecho sobre un
recurso.

Estas son las funciones que tiene game maker en la barra lateral


  Es para crear un nuevo archivo
   Es para cargar un archivo
   Es para guardar el archivo
   Es para crear tu proyecto en archivo con extension .exe

    Es para publicar tu juego en yoyogames.com

    Es para previzualizar tu juego
  Es para lanzar un debug (no recomendado utiliza mucha memoria)

    Es para cargar o crear un sprite

    Es para cargar un sonido

    Es para cargar o crear un background

    Es para hacer un path (Movimientos relativos)

    Es para hacer un script GML

    Es para cargar una fuente a tu juego ejemplo: Arial
  Es para hacer un timeline (linea de tiempo)
    Es para hacer un objeto (lo que llevara tu juego como el jugador,blockes,etc)

     Es para hacer un cuarto (los niveles)

     Es para poner la info de tu juego (NO RECOMENDABLE)

    Es para poner las opciones globales de tu juego como:Iniciar en pantalla completa,Ver mouse,etc...

     Es para cargar extensiones (En este caso no necesario)

    Es para ver para que sirve cada script GML (AYUDA EN SCRIPT)


Menú archivo (file)
Los comando habituales para abrir y guardar archivos. Los comando con * tienen un botón en la
barra de herramientas.

        Nuevo (New)*. Para empezar a crear un juego nuevo. Si el juego actual tiene
        modificaciones se te pregunta si quieres guardarlo.

        Abrir (Open)*. Abre un archivo de juego. Los archivos de Game Maker tienen la
        extensión .gmk. También puedes abrir archivos antiguos con extensión .gm6. y si quieres
        abrir archivos .gmd creados con la versión 5 tienes que seleccionar el tipo de archivo
        adecuado en la parte de abajo del cuadro de diálogo. Estos últimos podrían no funcionar
        correctamente en la nueva versión.
También puedes abrir un juego arrastrando el archivo a la ventana de Game Maker.

       Archivos recientes (Recent files). Usa este submenú para volver a abrir los archivos
       usados recientemente.

       Guardar (Save)*.Guarda el archivo del juego con el nombre actual, sino lo tiene aún te
       aparece una ventana para dárselo. Este comando sólo está disponible cuando el proyecto
       ha cambiado.

       Guardar como (Save as). Guarda el juego con otro nombre. Se te pide un nuevo nombre.

       Crear ejecutable (Create executable). Mediante este comando puedes crear una versión
       ejecutable de tu juego que funciona sin necesidad de tener instalado Game Maker. Con
       este archivo puedes distribuir tu juego a quien quieras.

       Modo avanzado (Advanced mode). Al hacer clic en este comando se cambiará entre los
       modos simple y avanzado. En el avanzado tienes disponibles más comandos y recursos.

       Salir (Exit). Para salir del programa. Si hiciste cambios en el juego actual se te preguntará si
       quieres guardarlo.

Menú Editar (Edit)
Contiene comandos relacionados con el recurso (objeto, sonido, etc.) o grupo de recursos
seleccionado. Dependiendo del tipo algunos comandos pueden no estar disponibles.

       Insertar recurso (Insert resource). Inserta una nueva instancia del tipo de recurso
       actualmente seleccionado antes del mismo. Si seleccionaste un grupo de recursos es
       agregado al grupo. Se abrirá un cuadro de diálogo en el que puedes cambiar las
       propiedades.

       Duplicar (Duplicate). Crea y agrega una copia del recurso actual. Se abre una ventana en la
       que puedes modificarlo.

       Borrar (Delete). Borra el recurso o grupo de recursos seleccionado. Este comando no
       puede deshacerse, por lo que verás una advertencia para confirmar su eliminación.

       Renombrar (Rename). Dale un nuevo nombre al recurso. También lo puedes hacer en su
       ventana de propiedades.

       Propiedades (Properties). Usa este comando para mostrar la ventana de edición de
       propiedades que se mostrará en la ventana principal. Puedes editar varias al mismo
       tiempo. También puedes acceder a las propiedades haciendo doble clic en el re curso.

Estos comandos también puedes aplicarlos de otra forma. Haz clic derecho en un recurso o grupo
de recursos, y aparecerá el menú apropiado.
Menú recursos (Resources)
Puedes crear nuevos recursos de cualquiera de los tipos disponibles. Para cada uno de ellos
también hay un botón en la barra de herramientas y un acceso directo desde el teclado. También
puedes cambiar la información del juego y las preferencias generales..

Menú Ejecutar (Run)
Se usa para ejecutar el juego de las siguientes maneras:

        Normal (Run normally). Ejecuta el juego en modo normal y de la manera más eficiente
        posible como si fuera un ejecutable.

        Depuración de errores (Run in Debug mode). Ejecuta el juego en modo depuración. En
        este modo puedes revisar el 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 acción del menú
archivo.

Menú Ventana (Window)
Comandos para manejar las propiedades de las ventanas de la ventana principal.

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

        Reordenar iconos (Arrange Icons). Ordena todas las ventanas. Útil al cambiar de tamaño
        la ventana principal.

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

Menú Ayuda (Help)
Comandos de ayuda:

        Contenidos (Contents). La ayuda en formato CHM.

        Tutoriales (Tutoriales). Usa este submenú para ver los tutoriales que te enseñarán a crear
        tus primeros juegos.

        Actualizarse a la versión Pro (Upgrade to Pro Edition). Para poder usar todas las funciones
        del programa.

        Introducir código de activación (Enter Activation Code). Si ya has comprado Game Maker
        antes, usa este comando para introducir tu código. Te llevará a una página web para
        hacerlo efectivo.
Noticias (News). Consulta las últimas noticias sobre el programa.

        Libro (Book). Te lleva a la web del libro de Game Maker.

        Más tutoriales (More tutorials). Te conecta a una web para que te descargues más
        tutoriales.

        Sitio Web (Web). Te lleva a la web oficial del programa, donde podrás encontrar juegos y
        más recursos.

        Foro (Forum). Te conecta al foro oficial, donde puedes encontrar ayuda y recursos.

        Wiki (Wiki). Te conecta con la wiki de Game Maker donde encontrarás información de
        utilidad ordenada por temas.

        About Game Maker. Breve información sobre el programa.

El explorador de recursos
En la parte izquierda de la pantalla verás el explorador de recursos, con una lista desplegable con
todos los recursos de tu juego. Si un elemento tiene un signo + a su lado puedes hacer clic para
verlos todos y los puede ocultar clicando en el signo -.

Selecciona y haz clic sobre un recurso para cambiarle el nombre.
Doble clic sobre él para editar su propiedades.
Usa el botón derecho para acceder a los comandos del menú Editar.

Puedes cambiar el orden de la lista haciendo clic en un recurso y manteniendo pulsado el botón
del ratón. Arrástralo al lugar que quieras dentro del mismo tipo.

Definiendo los sprites

Los sprites son las representaciones visuales de todos los objetos en el juego. Un sprite puede ser
una imagen simple o un juego de varias imágenes que, reproducidas una tras otra, crean un efecto
de movimiento (animación). Por ejemplo, las siguientes imágenes forman un sprite para un
personaje moviéndose hacia la derecha.



Al empezar a crear tu juego debes dibujar o buscar los todos los sprites para los objetos que vas a
usar. Con el programa vienen incluidos unos cuantos (carpeta Sprites), pero puedes descargarte
más de la web de Game Maker o de otros sitios en Internet. Suelen estar en formato .png o .gif
(estáticos o animados).

Para crear un sprite selecciona el comando Crear Sprite (Create Sprite) del menú
de Recursos (Resources) o usa el botón correspondiente en la barra de menús (Pacman rojo), se
verá la siguiente ventana:
En la parte superior izquierda escribe el nombre del sprite, pues todos los recursos del juego
deben llevar uno. Procura que sea descriptivo, fácil de recordar y que no se repita. Se recomienda
sólo usar letras, números y el guión bajo (_) en los nombres de los recursos ( sprites, objetos,
sonidos...) y empezar el nombre con una letra. Evita usar espacios en blanco, pues darían
problemas en caso de usar código.
Haz clic en el botón Cargar Sprite (Load Sprite) para abrir el siguiente cuadro de diálogo:




En la parte izquierda hay un selector de archivos donde puede elegir la imagen que quieres y en la
parte derecha puedes previsualizar el sprite animado y ver alguna información sobre él. Aquí
puedes indicar si lo quieres hacer opaco (se borrarán las partes transparentes), borrar el fondo
haciéndolo transparente (por defecto) y si quieres suavizar los bordes, lo que puede mejorar su
apariencia. Pulsa Abrir (Open) cuando estés satisfecho con el resultado.

Game Maker puede abrir diferentes tipos de imágenes. Al cargar un .gif animado, todas
las subimágenes formar la imagen del sprite. Cuando el nombre del archivo acaba con _stripXX,
con XX como un número, se considera que contiene una tira de subimágenes una junta a la otra
(no para .gifs). Por ejemplo, con el nombre bola_strip4.png se asume que hay 4 subimágenes.

Una vez que se carga el sprite, se mostrará la primera subimagen a la derecha y si hay varias
puedes verlas una a una usando los botones con las flechas.

Con el botón Editar Sprites (Edit Sprite) puedes editar el sprite o incluso crear uno nuevo. Game
Maker trae integrado un editor de imágenes y sprites. Para más información ve a las
secciones Editando tus sprites y Editando subimágenes individualmente.

Sonidos y música

La mayoría de juegos tienen efectos de sonido y música de fondo para hacerlo más atractivos.
Puedes encontrar ejemplos de sonidos en la carpeta Sounds en el directorio de instalación del
programa o descargarlos desde la web de Game Maker u otros sitios en Internet.

Para añadir un recurso de sonido al juego, usa el comando Crear Sonido (Create Sound) del
menú Recursos (Resources) o usa el botón del altavoz en la barra de herramientas. Se mostrará la
siguiente ventana:
Para cargar un sonido pulsa el botón Cargar Sonido (Load Sound) y aparecerá un cuadro de
diálogo para seleccionar el archivo de sonido que te interese. Hay dos tipos de archivos admitidos:
wave (*.wav). Para efectos cortos de sonido, usan mucha memoria pero se reproducen al
momento.
midi (*.midi). Necesitan mucha menos memoria para ser reproducidos, pero sólo se puede usar
uno a la vez y para música de fondo.

Una vez que has cargado el archivo de música puedes escucharlo usando el botón Rep roducir
(Play). También hay un botón Guardar Sonido (Save Sound) para guardar el sonido actual a un
archivo, que será de utilidad en caso de perder el original.

Fondos

El tercer tipo de recurso básico son los fondos, que normalmente son imágenes grandes usadas
como fondo de las rooms en las que se desarrolla el juego. A menudo están hechas con tiles
(mosaicos) de manera que puedes rellenar el espacio con un motivo y sin separaciones visuales
entre los bloques. Puedes encontrar ejemplos en la carpeta Backgrounds dentro del directorio de
instalación del programa o descargarlas de la web de Game Maker u otras por Internet.

Para añadir un recurso de fondo a tu juego, usa el comando Crear Fondo (Create Background) en
el menú Recursos o usa el botón correspondiente de la barra de herramientas. Se mostrará la
siguiente ventana:




Dale un nombre descriptivo arriba a la izquierda.

Pulsa el botón Cargar Fondo (Load Background) para seleccionar el archivo que te interese. A la
derecha del selector de archivos puedes indicar si quieres que el fondo sea opaco (se borrarán las
partes transparentes), que se borre el fondo o se haga transparente (por defecto no) y si se
suavizan los bordes, lo que mejorará su aspecto cuando es parcialmente transparente. Cuando
estés satisfecho con el resultado pulsa Abrir (Open) y carga el archivo. ¡Los fondos no pueden ser
animados!

Puedes cambiar el fondo o crear uno nuevo usando el botón Editar Fondo (Edit Background) que
abrirá un editor de imágenes. Para saber cómo usarlo puedes ir a la sección Editando
subimágenes (Editing images).

Ten cuidado al usar imágenes muy grandes, algunas tarjetas gráficas antiguas no admiten que
sean mayores que la pantalla, así que procura que sean menores de 1024x1024 pixeles.

Definiendo Objetos

Ya hemos añadido imágenes y sonidos al juego, pero ninguno de ellos realiza ninguna acción, no
interactúan con nada. Es hora de hablar del recurso más importante dentro de Game Maker:
los objetos.

Los objetos son las entidades que hacen las cosas en el juego, casi siempre tienen un sprite como
representación gráfica 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,
concretamente, son instancias de objetos. También los hay invisibles, que no ves pero controlan
ciertos aspectos de la partida.
Fíjate en la diferencia entre los sprites y los objetos. Los sprites son solo imágenes que no tienen
ningún comportamiento asociado. Los objetos normalmente están representados por un sprite,
pero también tienen un comportamiento para interactuar. ¡Sin objetos no hay juego!

También fíjate en la diferencia entre los objetos y las instancias. Un objeto describe cierta entidad,
por ejemplo un enemigo. Pero en el escenarios puedes poner el número de instancias del objeto
que desees y todas serán iguales. Si modificas el objeto original, todas sus instancias cambiarán.

Para añadir un objeto al juego, selecciona el comando Crear Objeto (Create Object) del
menú Recursos (Resources). Aparecerá la siguiente ventana:




A la izquierda se muestra la información general del objeto, en el medio hay varios eventos que le
pueden suceder y a la derecha las acciones asociadas con dichos eventos. De los eventos y las
acciones hablaremos en los próximos capítulos.

Como siempre, debes darle un nombre descriptivo al objeto. Después, elije uno de los sprites ya
creados para que sea su representación visual. Para hacerlo, haz clic con el botón izquierdo del
ratón en la caja de Sprite o en el botón a su derecha para mostrar todos los disponibles. Selecciona
el que quieras.

Si todavía no tienes ninguno puedes darle a Nuevo (New) para añadir uno y luego lo puedes
cambiar. También, cuando selecciones un recurso, verás un botón Editar (Edit) para editar sus
propiedades. Esto es más rápido que buscarlo en la lista de recursos e indicar que lo quieres
editar.

Debajo hay dos opciones:

          Visible (Visible). Indica si las instancias de este objeto serán visibles. Lo más habitual es
          que los objetos se puedan ver pero en algunas ocasiones es útil tener algunos invisibles,
          por ejemplo como guías de movimiento para un enemigo. Estos objetos invisibles
          reaccionan a eventos y otras instancias pueden colisionar con ellos.

          Sólido (Solid). Indica si se trata de un objeto macizo (como una pared). Las colisiones con
          sólidos son tratadas de forma diferente que los no-sólidos. Se recomienda usar esta
          opción sólo para objetos que no se mueven.

Eventos

Game Maker emplea lo que se conoce como programación orientada a eventos. Esto es, en todo
tipo de situaciones las instancias de los objetos reciben eventos reaccionando a ellos ejecutando
alguna acción. A cada uno de los objetos debes indicarle a que eventos responderá y las acciones
asociadas a ellos. Aunque pueda sonar complicado, verás que en realidad es muy sencillo y lo
podrás hacer con botones de arrastrar y soltar.

En el medio de la ventana de propiedades de objeto hay una lista de eventos a los cuales dicho
objeto puede reaccionar, al principio está vacía. Pulsa el botón Añadir Evento (Add Event),
aparecerá un pequeño menú con todos los tipos de eventos disponibles para agregar desde aquí
los que te interesen. En ocasiones se mostrará un submenú con opciones extra. Por ejemplo en el
evento de teclado aparecerá una lista con todas las teclas disponibles.

Al final de esta página encontrarás una descripción detallada de todos los eventos.

Selecciona un evento de la lista, que será el que modificaremos y aparecerá en el listado de
eventos de las propiedades del objeto. A la derecha de todo, agrupadas en varias pestañas, están
todas las acciones representadas por iconos que reaccionan a los eventos, que veremos más
adelante en detalle.

Entre los eventos y las acciones se encuentra la lista con las acciones para el evento actual. Para
agregar una acción a la lista arrástrela desde la derecha hasta aquí y se situarán una debajo de
otra con una breve descripción. Para cada una de las acciones se te pedirán algunos parámetros
que veremos más adelante. Después de añadir algunas, tendrías algo así:
Puedes añadir acciones para otro evento, haz clic con el botón izquierdo sobre el que quieras y
arrastra nuevas acciones a la lista.

Puedes cambiar el orden de las acciones de la lista arrastrando los iconos. Si mantienes pulsada l a
tecla <Alt> mientras arrastras, harás una copia de la acción. Incluso puedes arrastra acciones entre
listas de diferentes objetos.

Con el botón derecho del ratón se mostrará un submenú desde el que borrar, copiar o pegar
acciones. Puedes seleccionar varias acciones para cortar, copiar o borrar pulsando la
tecla <Shift> o <Ctrl>. Presionando las teclas <Shift><A>seleccionas todas. Si mantienes el cursor
del ratón sobre una acción se muestra una descripción más detallada de la misma...

Para borrar el evento seleccionado y todas sus acciones pulsa el botón Borrar (Delete). Los
eventos sin acciones son eliminados automáticamente cuando cierras la ventana sin necesidad de
que hagas nada.

Si deseas asignar las acciones a un evento diferente (cambio de tecla, por ejemplo) pulsa el
botón Cambiar (Change) y selecciona el nuevo evento, que no debe haber sido empleado antes.
Usando el submenú que aparece con el botón derecho del ratón en la lista de evento puedes
duplicarlo, esto es, agregar un nuevo evento con las mismas acciones.

Tal como se indicó antes, para añadir un evento pulsa el botón Añadir Evento (Add Event) y se
mostrará la siguiente ventana:
Aquí selecciona el evento que vas a añadir, algunas veces aparece un nuevo menú con opciones
extra. Esta es la descripción de los eventos disponibles, pero recuerda que normalmente sólo
usarás algunos de ellos, en función de las necesidades del objeto dentro de tu juego:
   Evento crear (Create event)
Sucede cuando se crea una instancia del objeto. Normalmente se usa para establecer el
movimiento de la instancia y/o establecer algunas de sus variables.
   Evento Destruir (Destroy event)
Ocurre cuando la instancia es destruida, exactamente justo antes de que sea destruida. Esto
quiere decir que la instancia aún existe cuando el evento es ejecutado. Habitualmente no se usa,
pero puedes emplearlo, por ejemplo, para cambiar el marcador o crear algún otro objeto.
   Eventos alarma (Alarm Event)
Cada instancia tiene 12 relojes de alarma. Puedes configurarlos usando ciertas acciones (ver el
siguiente capítulo). El reloj de la alarma hace una cuenta regresiva hasta que llega a 0, que es
cuando se genera el evento. Para indicar las acciones para un reloj de alarma, primero necesitas
seleccionarlo en el menú.

Los relojes de alarma son muy útiles, puedes usarlos para hacer que ciertas cosas se repitan una y
otra vez. Por ejemplo, un enemigo podría cambiar de dirección cada 20 pasos, en cuyo caso una de
las acciones en el evento debe configurar nuevamente la alarma.
    Eventos paso (Step events)
El evento step sucede a cada paso/frame del juego. Puedes colocar acciones que requieren
ejecutarse continuamente. Por ejemplo, si un objeto debe seguir a otro, puedes adaptar la
dirección de movimiento hacia el objeto que se está siguiendo. Hay que tener cuidado con el uso
de este evento para evitar ralentizar el juego, no coloques acciones muy complicadas en objetos
con muchas instancias.

Hay tres tipos diferentes del evento step, normalmente sólo necesitarás la que viene por defecto
pero usando el submenú puedes seleccionar el inicio o el final del evento step. El inicio se ejecuta
al comienzo de cada paso, antes de que suceda cualquier otro evento. El normal se ejecuta antes
de que se coloquen las instancias en sus nuevas posiciones y el final justo antes de que se dibuje la
escena.

Uno de sus usos útiles es cambiar el sprite dependiendo de la dirección actual.
   Eventos de colisión (Collision events)
En el momento en que dos instancias colisionan ocurre un evento de colisión, para ser más
precisos, ocurren dos, uno por cada instancia. Debes seleccionar en el menú el objeto con el que
choca y después colocar las acciones asociadas a él.

Si no hay acciones asociadas a este evento no sucede nada, la instancia actual seguirá moviéndose
aun cuando el otro objeto sea sólido. Dependiendo si choca con un objeto sólido u otro no sólido
la reacción a las acciones es diferente:

- El otro objeto es sólido. La instancia vuelve al lugar anterior a la colisión y entonces se ejecuta el
evento. Por ejemplo, si la acción asociada al evento invierte la dirección de movimiento, la
instancia rebota en la pared sin detenerse. Si hay una nueva colisión se mantiene en su lugar
previa y deja de moverse.

- El otro objeto no es sólido. La instancia no rebota, el evento se ejecuta en la posición actual. Al
no ser sólido, lo podemos atravesar o pasar sobre él y el evento nos notifica lo que está
sucediendo.

Existen muchos usos para este evento, para rebotar contra las paredes, destruir algún objeto
cuando es alcanzado por una bala, etc.
    Eventos de teclado (Keyboard events)
Cuando el jugador pulsa una teclas sucede un evento de teclado para todas las instancias de todos
los objetos. Se puede definir un evento por cada tecla, seleccionándola en el submenú y
asignándole las acciones que quieras. Lógicamente no es necesario asignar todas las teclas, sólo
usarás las que necesites para cada uno de los objetos del juego.

El evento sigue activo mientras la tecla siga pulsada. Dentro de estos eventos, hay dos especiales,
uno es el <No Key> (Ninguna tecla) que sucede en cada paso cuando no hay nada pulsado y el otro
es <Any Key> (Cualquier tecla) que sucede al presionar cualquiera. Si el jugador pulsa varias
suceden los eventos de todas ellas.

Las teclas del teclado numérico sólo funcionan cuando está activada <BloqNum>.
   Eventos de ratón (Mouse Events)
Suceden cuando el cursor se encuentra sobre el sprite que representa la instancia del objeto.
Existen los eventos no button, left button, right button o middle button (ningún botón, izquierdo,
derecho o central) que se generan mientras se mantenga presionado cualquiera de ellos. Los
eventos press y release (pulsar y soltar) se generan una sola vez cuando se pulsa o suelta el botón,
respectivamente.

Recuerda que sólo suceden cuando el ratón está sobre la instancia, si se pulsa un botón en algún
lugar sin objetos no ocurrirá nada, salvo que uses los eventos globales del submenú que
reaccionarán a cualquier clic en cualquier sitio.

También hay dos eventos especiales que se suelen usar para cambiar el sprite o activar algún
sonido, el mouse Enter y mouse leave (entrar y salir), el primero sucede cuando el ratón se pone
encima de la instancia y el segundo cuando la abandona. Los denominados mouse wheel
up y mouse wheel Down (rueda arriba o abajo) se activan al mover la rueda del ratón.

Por último hay una serie de eventos para joysticks, donde indicas acciones para las 4 direcciones
principales (en diagonal se ejecutarían ambos eventos) y para 8 botones. Puedes programarlo para
dos joysticks.
   Otros eventos (Other events)
Hay otros eventos que pueden ser útiles en ciertos juegos y los puedes encontrar en este
submenú:

        Fuera de la sala (Outside room)
        Ocurre cuando la instancia se encuentra completamente fuera de la room. Suele ser un
        buen momento para destruirla.

        Cruzando el límite (Intersect boundary)
        Ocurre cuando la instancia llega al borde del cuarto.

        Vistas (View)
        Son útiles cuando usas vistas en tus rooms, comprueban cuando desaparece la instancia
        de una determinada vista o llega al borde de la vista.

        Comienzo de juego (Game start)
        Se genera para todas las instancias en la primera room donde se inicia el juego. Sucede
        antes que el evento room start (ver abajo) y que los eventos create de las instancias en el
        cuarto.

        Se suele definir normalmente en un solo objeto "controlador" y se usa para reproducir
        alguna música de fondo, asignar valores iniciales a algunas variables o para cargar datos.

        Fin de juego (Game end)
        Sucede para todas las instancias cuando termina el juego. Como el anterior, lo normal es
        que lo defina un sólo objeto. Se puede emplear para guardar la información del juego en
        un archivo.
Comienzo de sala (Room start)
        Se genera para todas las instancias de la room cuando esta se inicia y antes que los
        eventos de creación.

        Fin de sala (Room end)
        Se genera para todas las instancias existentes cuando finaliza la room actual.

        Sin vidas (No more lives)
        Game Maker tiene un sistema de vidas interno y una acción para especificar y cambiar su
        número. En el momento que sea menor o igual a 0, se genera este evento. Normalmente
        se emplea para terminar o reiniciar el juego.

        Sin energía (No more health)
        Game Maker tiene un sistema interno de energía y una acción para especificar y cambiar
        el nivel de energía. En el momento que la energía sea menor o igual a 0, ocurre este
        evento. Normalmente se emplea para disminuir el número de vidas o para reiniciar el
        juego.

        Fin de la animación (End of animation)
        Como se indicó antes, una animación consiste en varias imágenes que se muestran de
        forma consecutiva y al llegar a la última se vuelve a la primera. Este evento sucede en ese
        preciso momento. Se puede usar para, por ejemplo, cambiar la animación o destruir la
        instancia.

        Finde trayectoria (End of path)
        Este evento ocurre cuando la instancia que sigue una trayectoria (path) llega al final de la
        misma.

        Botón cerrar (Close button)
        Sucede cuando el jugador hace clic en el botón cerrar de la misma ventana. Sólo funciona
        cuando, en las preferencias del juego, está desmarcada la opción que el botón cerrar se
        comporte como la teclas <Esc>.

        Definido por el usuario (User defined)
        Hay 16 de estos eventos. Normalmente nunca suceden a menos que tú mismo los llames
        desde un código propio.

   Evento Dibujando (Drawing event)
Las instancias, cuando son visibles, dibujan su sprite en la pantalla en cada paso. Cuando indicas
acciones en el evento de dibujo, no se dibuja el sprite, sino que se ejecutan esas acciones en su
lugar.

Esto se puede usar para dibujar algo más que un sprite, o para cambiar los parámetros del sprite.
Hay varias acciones de dibujo especialmente diseñadas para ser usadas en el evento drawing, que
sólo se ejecuta cuando el objeto es visible. Recuerda que, independientemente de lo que dibujes
aquí, los eventos de colisión se basan en el sprite que está asociado a la instancia.
   Eventos Pulsar Tecla (Key press events)
Similar al evento teclado (keyboard) pero éste sólo ocurre una vez cuando se presiona la tecla y no
de forma continua. Útil cuando quieres que la acción sólo ocurra una vez (sólo un disparo, por
ejemplo).
   Eventos Soltar Tecla (Key release events)
Similar al evento teclado (keyboard), pero éste sólo ocurre una vez cuando se suelta la tecla y no
de forma continua.

En algunas situaciones es importante conocer el orden en el cual el Game Makerprocesa los
eventos. Sería el siguiente orden:

        Eventos Begin Step

        Eventos Alarm

        Eventos Keyboard, Key press, y Key release

        Eventos Mouse

        Eventos Step normales (ahora todas las instancias se colocan en sus nuevas posiciones)

        Eventos Collision

        Eventos End Step

        Eventos Draw

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

Acciones

Las acciones indican lo que sucede en un juego creado con Game Maker y se colocan en los
eventos de los objetos. Cuando ocurre uno de estos eventos (por ejemplo, cear), las acciones
asociadas repercuten en las instancias de los objetos realizando algún comportamiento (por
ejemplo, moverse). Hay muchas acciones disponibles y es importante entender lo que hace cada
una, aquí describiremos las que se pueden usar en modo simple.

A la derecha de la ventana de propiedades del objeto, están agrupadas todas las acciones en seis
grupos de pestañas. Puedes ver cada grupo de acciones haciendo clic en la pestaña
correspondiente y una breve descripción de cada una mantiendo el ratón sobre ellas.

Recuerda: para colocar una acción en un evento sólo tienes que arrastrarla desde su posición
(derecha) a la lista e acciones (centro). Puedes cambiar el orden de esta lista arrastrando sus
elementos. Si mantienes pulsada la tecla <Alt> mientras arrastras haces una copia y puedes
arrastrar y copiar acciones entre listas de diferentes objetos. Usa el botón derecho del ratón para
borrar, copiar o pegar.

Cuando colocas una acción suele aparecer un cuadro de diálogo donde le puedes especificar
algunos parámetros, hay dos en concreto bastante habituales.

En la parte superior puedes indicar a que instancia se le va a aplicar la acción, que por defecto es
self, la misma instancia en la que estás trabajando. Habitualmente no es necesario cambiarlo. En el
caso de un evento colisión, puedes indicar si se aplica la acción a la otra instancia involucrada,
pudiendo de esta forma, por ejemplo, destruirla. Por último, puedes elegir si aplicas la acción a
todas las instancias de un objeto, de esta forma podrías cambiar el color de todas las pelotas rojas
en azules.

El segundo parámetro es la casilla amrcada como Relative (Relativo). Si la marcas, los valores que
escribas serán relativos a los actuales en el momento de aplicar la acción. De esta forma podrías
sumarle puntos a un marcador en lugar de repetir siempre el mismo número.

Podrás editar todos los valores los cuando quieras haciendo doble clic sobre la ación que te
interese..

Los seis puntos de acciones en detalle:

        Acciones de movimiento (move)

Movimiento (Move)

     Movimiento fijo (Move Fixed)
La instancia del objeto se empieza a mover en la dirección y velocidad indicadas.

Para indicar la dirección haz clic sobre una de las flechas. Si marcas varias se elegirá una al azar
(por ejemplo para que un enemigo aparezca moviéndose a la izquierda o a la derecha). Para
detener el movimiento deja marcado el botón del medio.

La velocidad está indicada en pixeles por paso y por defecto es 8. Procura evitar los valores de
negativos.


     Movimiento libre (Move free)
Esta es la segunda forma en la que puedes asignar un movimiento.

Puedes indicar la dirección con más precisión, eligiendo un ángulo de entre 0 y 360 grados, donde
0 significa a la derecha y aumenta en sentido contario a las agujas del reloj (90º sería hacia arriba).

Si quieres lograr una dirección aleatoria escribe random(360) pues, como verás más adelante, esta
función random devuelve un número al azar menor que el indicado. Si marcas la
casilla Relativo (Relative) el nuevo movimiento se sumará al que actual, por ejemplo, si la instancia
va hacia arriba y le añades un pequeño movimiento a la izquierda, la dirección resultante será en
diagonal arriba a la izqquierda.


     Mover hacia (Move Towards)
Esta acción ofrece un tercera forma para indicar un movimiento.

Sólo tienes que indicar una posición y la velocidad para que la instancia cominece a moverse con
la velocidad seleccionada a la posición dada, pero no se detendrá en dicho lugar. Por ejemplo, si
quieres que una bala vuele hacia la posición de una nave espacial (llamada nave), puedes usar
como posición nave.x y nave.y (más adelante aprenderás sobre estas variables).

Si marcas la cailla Relativo (Relative) especificas una posición relativa a la actual que tiene la
instancia, la velocidad no se toma como relativa.


    Velocidad horizontal (Speed horizontal)
La velocidad de una instancia está formada por una parte horizontal y otra vertical.

Con esta acción puedes modificar la velocidad horizontal, si es positiva el movimiento va hacia la
derecha y si es negativa hacia la izquierda. La vertical permanecerá constante.

Usa la opción Relativo para incrementarla o disminuirla respecto a la actual.


     Velocidad vertical (Vertical speed)
De forma similar, con esta acción cambias la velocidad vertical. Si indicas un valor positivo la
instancia se moverá hacia abajo y si es negativo hacia arriba.


     Establecer gravedad (Set gravity)
Con esta acción puedes simular el efecto de la gravedad en un objeto, indicando l adirección (entre
0 y 360 grados) y la velocidad. A cada fotograma del juego esa velocidad se incrementará en la
dirección dada. Lo normal es usar un número pequeño (como 0.01) en dirección descendente
(270º).

Marcando la casila Relativo incremetas la velocidad de gravedad y la dirección. Al contrario que en
el mundo real, los objetos pueden tener diferentes direcciones de gravedad.
Rebote horizontal (Reverse horizontal)
Con esta acción puedes invertir el movimiento horizontal de la instancia. Por ejemp lo, cuando un
objeto colisiona con una pared vertical.


    Rebote vertical (Reverse vertical)
Con esta acción puedes invertir el movimiento vertical de la instancia. Por ejemplo, cuando un
objeto colisiona con una pared horizontal.


     Establecer la fricción (Set friction)
La fricción disminuye la velocidad de la instancia y aquí especificas el valor de dicha reducción. En
cada fotograma se restará de la velocidad actual hasta llegar a 0.

Lo normal es usar un número pequeño (como 0.01) porque si fuera muy al to la instancia se pararía
muy rápido.

Llevar a (Jump)

     Llevar a una posición (Jump to Position)
Usando esta acción puedes colocar la instancia en la posición que quieras, sólo tienes que indicar
las coordenadas x e y para que la instancia aparezca allí con su punto de referencia como origen. Si
marcas la casilla Relativo, la posición se modifica respecto a la actual.

Se suele usar en instancias que se mueven continuamentem en cada fotograma incremetemos la
posición un poco.


     Llevar al origen (Jump to Start)
Esta acción coloca la instancia a la posición donde fue creada en su momento.


     Llevar a posición aleatoria (Jump to Random)
Esta acción mueve la instancia a una posición aleatoria en la room, donde no se solape con algún
objeto sólido.

Puedes indicar que ajuste (snap) se usará. Con valores positivos las coordenadas serán elegidas
con múltiplos enteros de esos números. Puede ser útil para mantener la alineación con las celdas
de la cuadrícula de tu juego (si la hay), la velocidad horizontal y vertical se pueden especificar por
separado.


    Alinear a la cuadrícula (Align to grid)
Con esta acción puedes alinear la posición de una instancia a la cuadrícula inicando sus valores
horizontal y vertical, esto es, el tamaño de las celdas. Puede ser útil para asegurarte que las
instancias se mantienen en la cuadrícula.


    Teleportación (Wrap screen)
Con esta acción puedes hacer que cuando una instancia salga de la room por un lado aparezaca
por el contrario (teleportación). Normalmente se usa en el eventoExterior (Outside event).

Para que funcione, la instancia del objeto debe tener una velocidad porque la dirección en la que
reaparece se calcula con la dirección previa que llevaba. Puedes seleccionar si la instancia se
teleporta horizontalmente, verticalmente o en ambas direccione.


     Mover hasta contactar (Move to Contact)
Con esta acción mueves la instancia en un dirección dada hasta que toque a otro objeto. Si en la
posición actual de la instancia ya hay colisión, no se moverá, en caso contrario, la instancia se para
justo antes de que ocurra la colisión.

Puedes especificar la dirección y la máxima distancia en la que se moverá. Por ejemplo, cuando
está cayendo puedes moverla una distancia máxima hasta que encuentre un objeto. Puedes
indicar también si se tienen en cuenta todos los objetos o sólo los sólido.

Normalmente esta acción se pone en un evento de colisión para asegurarte que la instancia deja
de moverse cuando choca.


    Rebote (Bounce)
Cuando colocas esta acción en el evento colisión de algún objeto, la instancia rebota como lo haría
en el mundo real. Si el parámetro presicisión (precise) lo configuras como falso (false) sólo
funcionara bien con paredes verticales y horizontales. Si lo configuras a verdadero (true)
funcionará en paredes inclinadas o curvas, pero será más lento.

Puedes indicar también si el rebote será contra objetos sólido o con todos. El rebote no siempre es
del todo preciso porque depende de muchos factores, pero en la mayoría de situaciones es lo
suficientemente bueno.



        Acciones principales, grupo 1 (main1)



Objetos (Objects)

    Crear instancia (Create instance)
Con esta acción puedes crear una instancia de un objeto. Debes indicar el objeto a crear y la
posición para la nueva instancia. Si marcas la casilla Relative, la posición es relativa a la posición de
la instancia actual.

La creación de instancias durante el juego es muy útil, por ejemplo una nave puede crear balas,
una bomba una explosión, etc. En muchos juegos tendrás un objeto de control que cada cierto
tiempo creará enemigos u otros objetos. El evento de creación se ejecuta la crearse la nueva
instancia.


     Crear instancia en movimiento (Create moving)
Es la misma acción que la anterior pero con dos campos adicionales. Puedes especificar
la velocidad y dirección de la instancia que se creará. Si usas la opciónRelative sólo afectará a la
posición y no a la velocidad ni dirección.

Por ejemplo, para hacer que una bala se mueva en la misma dirección que el personaje que la crea
usa un pequeño truco: activa la opción Relative e introduce la posición 0,0. En el campo de
dirección, introduce la palabra direction, que es la dirección en la que se mueve el personaje que
dispara la bala.


    Crear instancia de un objeto aleatorio (Create Random)
Te permite crear la instancia de 1 objeto cualquiera de los de un grupo de hasta 4 que hayas
elegido. Debes indicar los 4 objetos posibles que se podrán crear y la posición donde se situará la
nueva instancia.

Si usas Relative, la posición será relativa a la instancia que ejecute la acción. Si no quieres usar 4
objetos, puedes seleccionar No Object para los demás campos. Esta acción se puede usar para
crear un enemigo de tipo aleatorio en una posición determinada.


    Cambiar la instancia (Change instance)
Con esta acción puedes cambiar la instancia actual por otro objeto. Por ejemplo, puedes cambiar
una instancia de una bomba en una explosión. Todos los parámetros, como el movimiento o los
valores de variables, se mantendrán iguales. Puedes indicar si llevar a cabo o no el evento de
destrucción para el objeto actual y el evento de creación para el nuevo.


    Destruir la instancia (Destroy instance)
Con esta acción destruyes la instancia actual y se ejecuta su evento destrucción.


    Destruir instancias alrededor (Destroy at Position)
Con esta acción puedes destruir todas las instancias cuya caja límite contiene una posición dada.
Esto es útil por ejemplo cuando empleas la explosión de una bomba que destruyes objeto a su
alrededor. Cuando marcas la casilla Relative, la posición es relativa a la posición de la instancia
actual.

Gráficos (Sprites)

     Cambiar el sprite (Change sprite)
Usa esta acción para cambiar el sprite de la instancia, indicando el nuevo sprite o la subimagen
que se debe mostrar. Habitualmente usarás 0 para esto (la primera subimagen) salvo que quieras
visulizar otra. Usa -1 si no quieres cambiar la subimagen actual.

Por último, también puedes cambiar la velocidad de animación de las subimágenes. Si sólo quieres
ver una pon 0. Si es mayor que una subimagen se omitirá y si es menor que 1 subimagen se
mostrará varias veces. No uses velocidades negativas.

Cambiar sprites es una característica importante. Por ejemplo, a menudo querrás cambiar el sprite
de un personaje de acuerdo a la dirección a la que se dirige. Lo puedes lograr haciendo diferentes
sprites para cada una de las cuatro direcciones y en los eventos del te clado para las teclas del
cursor estableces la dirección de movimiento y el sprite.


    Transformar el sprite (PRO)
Usa esta acción para cambiar el tamaño y orientación del sprite de la instancia. Usa los factores de
escala para hacer el sprite más grande o pequeño. El ángulo (angle) indica la orientación en
sentido anti horario del sprite.

Por ejemplo, para hacer que el sprite se oriente en la dirección del movimiento usa el
valor direction, que sería muy útil para un coche. También puedes indicar si el sprite se reflejará
horizontalmente y/o volteado verticalment.

Esta acción sólo está disponible en la versión PRO.


    Color del sprite (PRO)
Normalmente el sprite se dibuja como se ha creado. Usando esta acción puedes cambiarle el color
combinándolo con los colores que ya tenía. Si quieres dibujar un sprite en varios colores debes
definirlo en blanco y negro y usar un color en esta acción para indicar su nueva apariencia.

También puedes indicar una transparencia (alpha): 0 significa totalmente transparente y 1
totalmente opaco. Con un valor intermedio conseguirás que se pueda ver el fondo a través del
sprite. Es muy útil para explosiones.

Esta acción sólo está disponible en la versión PRO.
Sonidos (Sounds)

    Reproducir un sonido (Play sound)
Con esta acción reproduces uno de los recursos de sonido que añadiste al juego. Puedes indicar si
suena sólo una vez (por defecto) o de forma continua.

Se pueden reproducir varios archivos wave al mismo tiempo, pero sólo un midi a la vez. Por lo
tanto, si se inicia el sonido de un midi, el actual se detiene.


     Detener un sonido (Stop sound)
Esta acción detiene el sonido indicado. Si hay varias instancias del sonido reproduciéndose, todas
son detenidas.


      Comprobar un sonido (Check sound)
Si el sonido indicado está sonando la acción siguiente se ejecuta y sino, la acción siguiente se
ignora. Puedes seleccionar Not para que actúe al revés (es decir, si el sonido no está, la acción se
ejecuta).

Por ejemplo, puedes comprobar si está sonando la música de fondo y si no, hace s que empiece a
sonar otra canción. Esta acción devuelve true cuando el sonido suena por los altavoces. Cuando
usas la acción de hacer sonar un sonido tarda un poco hasta que el sonido llega a los altavoces, así
que esta acción devolverá falsedurante ese pequeño espacio de tiempo. Cuando detienes un
sonido, tampoco se para instantáneamente así que la acción tardará un poco en devolver false.



Salas (Rooms)

      Sala anterior (Previous Room)
Ir a la sala anterior indicando el tipo de transición entre las salas, prueba todas las que hay para
ver cuál te gusta más. Si estás en la primera sala, se produce un error.

      Siguiente sala (Next room)
Ir a la siguiente sala indicando la transición. Si estás en la última sale un error.

     Reiniciar la sala (Restar Room)
Se reinicia la sala actual. Puedes indicar el efecto de transición.

    Ir a otra sala (Different room)
Con esta acción vas a la sala que quieras indicando su nombre y la transición.

     Comprobar anterior (Check Previous)
Esta acción verifica si existe la sala anterior y, en caso afirmativo, se ejecuta la siguiente acción.
Normalmente necesitas hacer esta comprobacion antes de moverte a la sala anterior.
Comprobar siguiente (Check Next)
Esta acción verifica si existe la siguiente sala y, en caso afirmativo, se e jecuta la siguiente acción.
Normalmente necesitas hacer esta comprobacion antes de moverte a la siguiente sala.



        Acciones principales, grupo 2 (main2)



Tiempo (Timing)

     Establecer alarma (Set alarm)
Sirve para configurar uno de los 12 relojes de alarma para la instancia, puedes indicar el número
de fotogramas (steps) y la alarma. La instancia recibirá el correspondiente evento alarma después
del número de fotogramas indicado. También puedes incrementar o disminuir el valor marcando
la casilla Relativo (Relative). Si le das un valor menor o igual a 0 la desactivas.


     Dormir (Sleep)
Puedes congelar la escena durante el tiempo (en milisegundos) que indiques. Se suele usar al
principio o al final de un nivel o cuando le das algún mensaje al jugador. También puedes indicar si
la pantalla debe ser dibujada primero para reflejar la siruación más reciente.



Información (Info)

    Mostrar mensaje (Display Message)
Con esta acción muestras un mensaje en una ventana de diálogo, sólo tienes que escribir el
mensajes. Si usas el símbolo # en el texto será interpretado como un carácter de nueva línea (para
obtenerlo pon #). Si empiezas con una comilla o dobles comillas se interpretará como
una expresión.


    Mostrar información (Show info)
Con esta acción mostrarás la ventana de información el juego.

Juego (Game)

    Reiniciar juego (Restart Game)
Con esta acción reiniciarás el juego desde el principio.


    Finalizar el juego (End Game)
Con esta acción termina el juego.
Guardar el juego (Save Game)
Guardarás el estado actual de la partida en un archivo que posteriormente podrás cargar con la
acción Cargar Juego. El archivo se crea en la carpeta raíz del juego. Ten en cuenta que que sólo se
guardan los aspectos básicos de la partida, opciones más avanzadas como el sonido que s e está
reproduciendo, los contenidos de estructuras de datos, partículas, etc... no se guardarán.


     Cargar un juego (Load Game)
Carga el estado de la partida desde un archivo, aquí indicas el nombre del archivo. Asegúrate que
el juego guardado es el mismo y fue creado co la misma versión de Game Maker, sino puede dar
errores. Para ser precisos, el juego se carga al final de este paso, por lo que algunas acciones
después de esta aún son ejecutadas en el juego actual ¡no el cargado!



        Acciones de control



Hay acciones con las que puedes controlar el funcionamiento de otras. Muchas de estas acciones
hacen preguntas, por ejemplo cuando una posición está vacía. Si la respuesta es si (true) se ejecuta
la siguiente acción, en caso contrario se omite. Si quieres ejecutar u omitir varias acciones en base
a una respuesta puedes ponerlas en un bloque (block) poniendo acciones para comenzar y
finalizar el bloque antes y después de ellas. También hay una parte sino (else) que se ejecuta
cuando la respuesta es no. Normalmente una pregunta se muestra así:




Aquí se pregunta si la instancia está en una posición libre de colisión. Si es así se empieza a mover
en una dirección dada, si no, se lleva a la posición que indiques. Fíjate que los bloques están
sangrados (desplazados a la derecha), que da una mejor visión de las acciones, sobre todo cuando
hay bloques dentro de otros. También es más fácil detectar si te has olvidado una acción de
apertura o cierre.

Para todas las preguntas hay un campo etiquetado como NO, si la marcas, se invierte el resultado
de la pregunta. Esto es, si el resultado es verdadero se convierte en falso y al revés. Esto te
permite realizar ciertas acciones cuando la pregunta no es verdadera.

En muchas de las preguntas puedes indicar si se van a aplicar a todas las instancias de un objeto.
En este caso el resultado es verdadero (true) sólo si es verdadero para todas las instancias del
objeto. Por ejemplo, puedes comprobar si para todas las bolas la posición un poco a su derecha
está libre de colisión.

Este es el listado de acciones disponibles. Tienen formas y colores diferentes al resto para
reconocerlas másr fácilmente.

Para todas las acciones verdadero=true y falso=false

Preguntas (Questions)

    Verificar vacío (Check Empty)
Devuelve verdadero is la instancia actual, situada en la posición indicada, no genera una colisión
con un objeto. Puedes indicar la posición como absoluta o relativa y también si sólo se tienen en
cuenta los objeto sólidos o todos.

Normalmente se usa para verificar si la instancia se puede mover a una posición determinada.


     Verificar colisión (Check Collision)
Esta acción hace lo contrario que la anterior. Devuelve verdadero si hay una colisión cuando la
instancia actual se situe en una posición dada.

    Verificar objeto (Check object)
Devuelve verdadero si la instancia situada en una posición dada se encuentra con una instancia del
objeto indicado.


     Comprobar el número de instancias (Test Instance Count)
Aquí especificas un objeto y un número. Si el número actual de instancias del objeto es igual al
número que escribas devuelve verdadero, sino, devuelve falso. También puedes indicar que la
verificación se haga cuando el valor es menor o mayor que el valor dado.
Normalmente se usa para comprobar si todas las instancias de un tipo determinado han
desaparecido, que suele ser el momento para terminar un nivel o el juego.


    Comprobar probabilidad (Test Chance)
Puedes indicar el número de caras de un dado y luego tirarlo, si la tirada coincide el resultado es
verdadero y se realiza la siguiente acción.

Se puede usar para poner un elemento de forma aleatoria en tu juego. Por ejemplo puedes
generar un tipo particular de bomba o cambiar la dirección. Cuantos más números tenga el dado,
menor será la probabilidad de que salga.

Puedes emplear números reales, si pones el número de caras en 1.5 la próxima acción se realizará
2 o 3 veces, usar un número menor de 1 no tiene ningún efecto.


     Verificar pregunta (Check Question)
Escribes una pregunta y al jugador se le mostrará un diálogo con los botones Si(Yes) y No (No). El
resultado es verdadero si el jugador responde Si.


     Comprobar expresión (Test Expression)
Es la acción de consulta más habitual. Si la expresión se evalúa como verdadera, esto es, un
número máyor o igual que 0.5, se realiza la siguiente acción. Más información sobre expresiones.


     Verificar ratón (Check Mouse)
Devuelve verdadero si se pulsa el botón de ratón indicado, un uso habitual es en el evento paso
(step event). Puedes verificar si un botón de ratón es pulsado y, en caso de ser cierto, por ejemplo
moverlo a esa posición. Para ello usarías la acción Llevar a una posición (Jump to a Position) con
los valores mouse_x y mouse_y.


    Verificar cuadrícula (Check Grid)
Devuelve verdadero si la posición de la instancia coincide con la cuadrícula, especificas para ello el
espaciado horizontal y vertical. Es muy útil cuando ciertas acciones, como hacer un giro, sólo están
permitidas cuando la instancia está en una posición de la cuadrícula.

Otras (Others)

     Comienzo de bloque (Start Block)
Indica el comienzo de un bloque de acciones.


     Fin de bloque (End Block)
Indica el final de un bloque de acciones.
Sino (Else)
Cuando el resultado de la consulta es falso se realizan las acciones que siguen a esta acción.


     Repetir (Repeat)
Esta acción se usa para repetir la siguiente acción o bloque de acciones el número de veces que
indiques.


     Salir del evento (Exit Event)
Cuando aparece esta acción no se ejecuta ninguna más en el evento, normalmente se usa después
de una pregunta. Por ejemplo, cuando una posición está libre no se necesita hacer nada más, por
lo que salimos del evento. En este ejemplo sólo se ejecutan las acciones posteriores cuando hay
una colisión.

Si deseas un mayor control sobre lo que sucede en el juego puedes usar el lenguaje de
programación que se explica en la segunda parte del manual, te da más flexibilidad que usar las
acciones.

Hay acciones para definir y comprobar variables, son más sencillas de usar que el código y muy
útiles para tu juego. Las acciones siguientes se ocupan de esto:

Código(Code)

    Ejecutar código (Execute Code)
Cuando se añade esta acción, se muestra un cuadro de diálogo donde puedes escribir un trozo de
código que será ejecutado. Puede contener una llamada a una función o algo más compli cado.

Usa esta acción sólo para trozos de código pequeños, si son más largos te recomiendo usar scripts
como se describe en esta sección del manual.


     Comentario (Comment)
Usa esta acción para añadir una línea de comentario a la lista de acciones, que se mostrará en
letra cursiva. Añadir comentarios te ayuda a recordar lo que hace el evento.

La acción en si no hace nada, pero recuerda que aún estás en una acción, así que, si la colocas
después de una acción condicional se ejecuta si es verdadero (aunque no haga nada).

Variables (Variables)

    Establecer variable (Set variable)
Hay muchas variables internas en el juego que puedes cambiar con esta acción. También puedes
crear tus propias variables y asignarles valores indicando el nombre y el nuevo valor.

Cuando marcas la casilla Relativo, el valor se suma al que actualmente tenga la variable. Fíjate que
esto sólo se puede hacer cuando tenga ya un valor asignado. Sigue leyendo para saber más sobre
las variables.


     Comprobar variable (Test Variable)
Con esta acción puedes comprobar si el valor de una variable es igual a un número en particular, si
es así devuelve verdadero y sino falso. También puedes indicar si la comprobación se hace para
valores menores que o mayores que el dado. También se puede usar para comparar dos
expresiones.


    Dibujar variable (Draw variable)
Con esta acción puedes dibujar el valor de una variable en un cualquier punto de la pantalla. Sólo
se puede usar en el evento dibujar (Draw Event) de un objeto.



        Acciones de puntuación (score)



En la mayoría de juegos el jugador tendrá puntuación, varias vidas o un nivel de energía. Las
siguientes acciones sirven para tratar estos elementos.

Puntuación (Score)

    Establecer la puntuación (Set score)
La puntuación se suele mostrar en el título de la ventana de juego. Con esta acción puedes
cambiarla, sólo tienes que indicar aquí el nuevo valor. Para añadir más puntos a la puntuación
actual marca la casilla Relativo (Relative).


    Comprobar puntuación (Test Score)
Con esta acción de consulta puedes comprobar si la puntuación ha alcanzado un determinado
valor. Indica el número y si la puntuación debe ser igual, menor que o mayor que ese número
(equal to, smaller than, larger than).


    Dibujar puntuación (Draw Score)
Dibujas el valor de la puntuación en la pantalla, escribe la posición y el título que se mostrará
antes de la puntuación con el tipo de fuente actual. Sólo se puede usar en el evento draw de algún
objeto.
Mostrar puntuaciones más altas (Show Highscore)
Cada juego guarda las 10 puntuaciones más altas que puedes mostrar con esta acción. Si la actual
está entre esas puntuaciones se introduce en la lista y el jugador escribirá su nombre. Puedes
indicar la imagen de fondo que se usará, si la ventana tendrá borde o no, el color para la nueva y
las otras entradas y la tipografía.


     Borrar puntuaciones más altas (Clear Highscores)
Esta acción vacía la tabla de records.

Vidas (Lives)

     Establecer el número de vidas (Set Lives)
Con esta acción puedes cambiar el número de vidas que quedan. Al inicio de juego le das un valor
(por ejemplo, 3) y lo aumentas o disminuyes dependiendo de lo que suceda. No olvides marcar la
opcion Relativo (Relative) si deseas sumar o restar vidas a las que hay en ese momento. Cuando se
llega a 0 o menos se genera un evento "No más vidas" (No more lives).


    Comprobar vidas (Test Lives)
Con esta acción de consulta puedes comprobar si el número de vidas ha alcanzado un
determinado valor. Indica el número y si el número de vidas debe ser igual, menor que o mayor
que ese número (equal to, smaller than, larger than).


    Dibujar vidas (Draw Lives)
Dibujas el número de vidas en la pantalla, escribe la posición y el título que se mostrará antes del
número de vidas con el tipo de fuente actual. Sólo se puede usar en el evento draw de algún
objeto.


     Dibujar imágenes de vida (Draw Life Images)
En lugar de mostrar el número de vidas con una cifra es mejor usar pequeñas imágenes, que es lo
que hace esta acción. Indica la posición y la imagen que quieres y en ese lugar aparecerán el
número indicado de esas imágenes. Sólo se puede usar en el evento draw de algún objeto.

Nivel de energía (Health)

    Establecer la energía (Set Health)
Con esta acción puedes cambiar el invel de energía de 0 (vacío) a 100 (completo) indicando el
nuevo valor. Algo habitual es disminuir el nivel de energía , para ello deberás marcar la opción
Relativo (Relative). Cuando se llega a un número igual o menor que 0 se genera un evento "sin
energía" (Out of health).


    Comprobar energía (Set Health)
Con esta acción de consulta puedes comprobar si el nivel de energía ha llegado a un determinado
nivel. Indica el valor y si la energía debe ser igual, menor que o mayor que ese número (equal to,
smaller than, larger than).


    Dibujar energía (Draw health)
Dibujas el nivel de energía en forma de barra, cuando está en 100 se ve completa y si está en 0 se
ve vacía. Puedes indicar la posición,el tamaño, el color de primer plano y el color de fondo.


    Puntuación en el título de la ventana (Score caption)
Normalmente en el título de la ventana de juego se muestra el nombre de la room y la
puntuación. Con esta acción puedes indicar si se muestra o no la puntuación, las vidas y/o el nivel
de energía y el título para cada uno de ellos.



        Acciones de dibujo (draw)



Normalmente en cada fotograma del juego y para cada instancia, se dibuja su sprite en la sala.
Esto puedes cambiarlo poniendo acciones en el evento dibujar (draw event). Sólo se ejecutarán
cuando el objeto es visible.

Estas son las acciones que están disponibles, sólo tendrán sentido en los eventos de dibujo, si las
pones en otros eventos serán ignoradas.

Las que están marcadas con un * sólo están disponibles en la versión PRO.

Dibujando (Drawing)

     Dibujar gráfico (Draw sprite)
Indicas el sprite, la posición (si es absoluta o relativa a la posición actual de la instancia) y la
subimagen del sprite (se numeran de 0 en adelante). Si quieres dibujar la subimagen actual, usa -1.


     Dibujar fondo (Draw background)
Indicas la imagen de fondo, la posición (absoluta o relativa) y si la imagen debe cubrir toda la sala
o no.


     Dibujar texto (Draw text)
Especificas el texto y la posición. Un símbolo # es interpretado como salto de línea (Usa # para
escribir el símbolo #), de esta forma puedes crear textos de varias líneas.
Si el texto comienza con una comilla simple o doble es interpretado como una expresión, por
ejemplo usa:

'X: ' + string(x)

para mostrar el valor de la coordenada x de la instancia. La variable x almacena la coordenada x
actual y la función string() convierte ese número en una cadena de texto. + une los dos textos.


    Dibuja texto escalado* (Draw Scaled Text)*
Similar a la anterior, pero aquí puedes indicar un factor de escalado horizontal y vertical para
cambiar el tamaño del texto y un ángulo para rotarlo.


    Dibujar rectángulo (Draw rectangle)
Puedes especificar las coordenadas de dos esquinas opuestas de un rectángulo y también si la
posición es absoluta o relativa respecto a la instancia actual.


    Degradado horizontal* (Horizontal Gradient)*
También dibuja un cuadrado pero con un relleno degradado que cambia de izquierda a derecha,
especificas los dos colores a usar.


     Degradado vertical* (Vertical gradient)*
Esta vez los colores rellenan el rectángulo de arriba hacia abajo.


    Dibujar elipse (Draw ellipse)
Dibuja una elipse indicando las coordenadas de dos esquinas opuestas del rectángulo que la
contiene y si la posición es absoluta o relativa a la instancia actual.


    Elipse degradada* (Gradient Ellipse)*
Lo mismo que la anterior, pero en esta indicas dos colores que la rellenan desde el centro hacia el
borde.


    Dibujar línea (Draw line)
Especificas las coordenadas de los dos extremos de la línea, ya sea absoluta o relativa a la posición
actual de la instancia.


     Dibujar flecha (Draw Arrow)
Dibuja una flecha. Especificas las coordenadas de los extremos de la línea y el tamaño de la punta
de flecha.
Preferencias (Settings)

     Establecer color (Set Color)
Te permite establecer el color a usar para dibujar formas, líneas y texto. No influye en los sprites o
los fondos.


    Poner en pantalla completa (Set Full Screen)
Con esta acción puedes cambiar entre los modos ventana y pantalla completa y a la invers a.
Puedes indicar si se debe cambiar el modo o si ir a modo ventan o pantalla completa.

Otras (Others)

    Captura de pantalla* (Take Snapshot)*
Con esta acción puedes hacer una captura de pantalla del juego y guardarla en un archivo de
imagen .png.


    Crear efecto* (Create Effect)*
Con esta acción puedes crear todo tipo de efectos de una manera sencilla. Especificas el tipo de
efecto, por ejemplo una explosión de humo, su posición, tamaño y color o si debería mostrarse
por debajo o encima del objeto.

El resto funciona de forma automática. Para la lluvia o la nieve la posición es irrelevante porque
siempre cae hacia abajo desde la parte superior de la pantalla. Para conseguir una lluvia continua
deberías crearla en cada fotograma (step).

Observa que debajo (below) significa una profundidad de 100000 y por encima (above) una de -
100000.



        Usando expresiones y variables



En muchas acciones necesitas introducir valores para los parámetros, que pueden ser un númro o
una fórmula, por ejemplo 32+12. Pero también puedes escribirexpresiones más complicadas. Por
ejemplo, si quieres duplicar la velocidad horizontal, puedes establecerla con 2*hspeed,
donde hspeed es la variable que indica la actual velocidad horizontal de la instancia. Hay
muchas variables que puedes usar, algunas de las más importantes son:

        x la coordenada x de la instancia.

        y la coordenada y de la instancia.

        hspeed la velocidad horizontal en pixels por fotograma.
vspeed la velocidad vertical en pixeles por fotograma.

        direction la dirección actual de movimiento en grado (0-360).

        speed la velocidad actual en esta dirección que se muestra cuando el objeto es visible (1) o
        invisible (0).

        image_index esta variable indica que subimagen se muestra en el sprite actual. Si lo
        cambias y estableces la velocidad a 0 puedes mostrar una subimagen determinada.

        image_speed esta variable indica la velocidad con la que se muestran las subimágenes,
        por defecto 1. Si lo aumentas por encima de 1 se saltan algunas subimágenes para hacer la
        animación más rápida, si lo pones menor que 1 la animación se hace más lenta por
        repetición de subimágenes.
        score el valor actual de la puntuación.

        lives el número actual de vidas.

        health el nivel de energía (0-100).

        mouse_x las posición x del ratón.

        mouse_y las posición y del ratón.

Puedes cambiar la mayoría de estas variables usando la acción establecer variable (set variable) y
también puedes definir las tuyas propias dándole un valor (no uses la opción Relativo porque aún
no existen). Después puedes usar esas variables en expresiones.

Las variables que crees son locales para la instancia actual, esto es, cada objeto tiene su propia
copia de ellas. Para crear una variable global, pon la palabra global y un punto después de ella.

También te puedes referir a los valores de las variables de otros objetos poniendo su nombre
seguido de un punto. Por ejemplo, si quieres mover una bola al lugar donde está un moneda
puedes establecer la posición a (moneda.x, moneda.y). En el caso de un event de colisión puedes
referirte a la coordenada x de otro objeto como otro.x. En expresiones condicionales puedes usar
comparaciones como < (menor que), >, etc.

En tus expresiones también puedes usar funciones. Por ejemplo, la funciónrandom(10) devuelve
un número entero menor de 10, que te podría valer para establecer la velocidad de un objeto de
forma aleatoria. Existen muchas más funciones que serán descritas más adelante en este manual.



Creando Rooms
Ahora que ya tienes objetos con su interactividad en forma de eventos y acciones, es hora de crear
las rooms donde se desarrollará el juego en si. Al menos necesitas crear una para situar todos los
elementos. Cuando iniciamos el juego se mostrará la primera room y las instancias de objetos con
eventos crear cobrarán vida.

Cuando creas una room tienes muchas opciones, puedes añadir objetos, fondos, tiles y definir
vistas o ciertas propiedades, pero en este capítulo sólo veremos las opciones básicas: añadir
instancias de objetos y configurar los fondos.

Para crear una room, elige Crear sala (Create Room) en el menú Recursos(Resources), se mostrará
la siguiente ventana:




En la parte superior hay una barra de herramientas donde puedes indicar el tamaño de las celdas
de la cuadrícula que se usa para alinear objetos. También puedes decidir si se muestran las líneas
de cuadrícula, los fondos, etc... algunas veces es útil ocultar ciertos elementos.

Cuando añades instancias de objetos siempre se mostrarán con independencia de la configuración
de vistas. También hay botones para borrar todas las instancias de la room o para moverlas,
usando valores negativos hará que se desplacen hacia arriba o a la izquierda. Es útil cuando
cuando decides agrandar la room o para situar instancias fuera. Por último están los
botones Deshacer (Undo) para dehacer los últimos cambios y el botón OK para guardar los
cambios. Si no los quieres guardar, haz clic en la cruz de la esquina superior derecha.

En la parte izquierda de la ventana hay tres pestañas, objetos (objects),preferencias (settings)
y fondos (backgrounds), que explicaremos a continuación.

Objetos. Añadiendo instancias.

A la derecha de la ventana puedes ver la room vacía y con fondo gris. Para empezar a añadir
instancias de objetos selecciona la pestaña Objetos (Objects):




Ahora selecciona el objeto que quieres haciendo clic en el icono de menu o en el área de imagen
(en gris) para que aparezca una lista con los objetos disponibles. Fíjate que aparece una cruz en la
imagen cargada que indica como se alinearán las instancias con la cuadrícula.

Pasa al área grande de la derecha, donde se visualiza la room, y haz clic con el botón izquierdo del
ratón para colocar una instancia del objeto seleccionado, puedes borrarla haciendo clic con el
botón derecho. Por defecto, las instancias se alinean a la cuadrícula al colocarlas, puedes evitarlo
manteniendo pulsada la tecla<Alt>.

Si mantienes pulsado el botón mientras mueves el ratón puedes mover la instancias hasta su
nueva posición. Si además mantienes pulsada la tecla <Mayúsculas>añadirás varias consecutivas.
Al colocar una instancia sobre otra, la primera desaparece. Si quieres evitarlo deshabilita la
opción Borrar subyacente (Delete underlying) que aparece abajo.

Si quieres cambiar su posición pulsa la tecla <Ctrl> y clic con el botón izquierdo sobre la instancia.
No las sueltes y muévela con el ratón a su nuevo emplazamiento. Usa <Alt> para mayor precisión o
no usar la cuadrícula.

Si mantienes pulsado <Ctrl> y el botón derecho sobre una instancia aparece un submenú. Con él
podrás borrar (Delete), especificar un posición más precisa(Change position...), ajustarla a la
cuadrícula (Snap to Grid) o moverla al frente(Bring to front) o al hacia atrás (Send to back).

Preferencias. Configurando la room.

A cada room le puedes especificar unas opciones diferentes. Selecciona la
pestañaPreferencias (Settings):




Nombre (Name). Elige uno que describa bien el lugar donde está el jugador.
Título para la sala (Caption for de room). Se muestra en la ventana al jugar.
Ancho x Alto (Widht X Height). Medidas en pixeles de la room.
Velocidad (Speed). Número de fotogramas por segundo, a mayor velocidad el movimiento es más
suave, pero necesitarás un ordenador más potente para que se ejecute bien.

Fondos. Configurando el fondo.
En la pestaña Fondos (Backgrounds) puedes establecer los fondos a usar:




Arriba puedes ver el color de fondo, haz clic en él para cambiarlo, sólo es útil si no usas una
imagen de fondo para cubrir toda la room. Si vas a usar una imagen desmarca l a opción Dibujar
color de fondo (Draw background color).

Lo siguiente que ves es una lista con 8 fondos que puedes definir, aunque la mayoría de las veces
sólo necesitarás uno o dos. Para habilitar un fondo selecciona uno de la lista y marca la
casilla Visible cuando comienza la sala (Visible when room starts) o sino no lo verás. El nombre se
pondrá en negrita cuando el fondo esté definido.

Ahora escoge del menú una de las imágenes que previamente has cargado y ajusta las opciones
que quieras.
Repetición. Puedes indicar si se repetirá horizonta y/o verticalmente (Tile Hor. / Tile Ver.).
Posición. Variando los valores de X e Y. Influirá en el tiling.
Estirar (Stretch). Si está marcado el fondo ocupa toda la pantalla. Si no es de su mismo tamaño
puede quedar distorsionada.
Velocidad. Puedes hacer que se mueva dándole una velocidad horizontal y/o vertical (Hor. Speed /
Vert. Speed). No se recomienda si usas la opción Estirar.

Imagen de primer plano (Foreground image). Si la activas el fondo se colocará en pri mer plano y
se mostrará por delante de todo. Lógicamente una imagen de este tipo deber ser parcialmente
transparente para que tega alguna utilidad.

Distribuir tu juego

Con la información de los capítulos anteriores ya puedes crear tus propios juegos y al acabarlos
querrás que otros lo jueguen. Puedes pasarles el .gmk que creaste para dejarles jugar, pero
normalmente eso no es lo quieres porque te podrían modificar el juego y necesitarían
instalar Game Maker.

Por eso, deberías crear un ejecutable que funcione sin necesidad de Game Maker:

        Crear un ejecutable es muy fácil. En el menú Archivo (File) selecciona el comando Crear
        ejecutable (Create Executable), ponle un nombre al archivo, pulsa OK y ya tienes listo un
        archivo .exe que le puedes pasar a quien quieras. Puedes cambiar el icono del ejecutable
        en las Opciones Generales del juego (Global Game Settings).

        Puedes distribuir libremente este archivo por cualquier medio o incluso venderlo, esto
        último asumiendo que todos los recursos (imágenes, sonido, fondos...) son tuyos o pueden
        ser usado en proyectos comerciales, lee los acuerdos de licencia de cada uno de ellos.

        Suele ser útil comprimir el ejecutable en un .zip junto con un archivo de información
        leeme.txt o incluso crear un instalador para tu juego. Hay recursos gratuitos en Internet
        para realizar estas tareas.

Si quieres que muchas personas prueben tu juego, también te recomendamos subirlo al sitio web
de YOYO GAMES, en la sección Compartir (Share) o publicarlo como tema en nuestra comunidad
de taringa APRENDIENDO GAME MAKER FACILITO subiendo el game a MEDIAFIRE.

More Related Content

What's hot

Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles Juan Anaya
 
Types of ip address classes
Types of ip address classesTypes of ip address classes
Types of ip address classesgreatbury
 
Modelo OSI y sus protocolos y componentes de red
Modelo OSI y sus protocolos y componentes de redModelo OSI y sus protocolos y componentes de red
Modelo OSI y sus protocolos y componentes de redSaul Adyure
 
El estándar 802.11 (infografía)
El estándar 802.11 (infografía)El estándar 802.11 (infografía)
El estándar 802.11 (infografía)Daniel Ortiz
 
Ip address presentation
Ip address presentationIp address presentation
Ip address presentationmuhammad amir
 
Analog Transmission
Analog TransmissionAnalog Transmission
Analog TransmissionShiraz316
 
Estándares inalambricos
Estándares inalambricosEstándares inalambricos
Estándares inalambricosRIITMO
 
Proceso para crear una red lan
Proceso para crear una red lanProceso para crear una red lan
Proceso para crear una red lanUltraTech Net
 
CISCO 1 - Introduccion a las redes
CISCO 1 - Introduccion a las redesCISCO 1 - Introduccion a las redes
CISCO 1 - Introduccion a las redestelecocisco
 
Diapositivas redes de computadoras
Diapositivas redes de computadorasDiapositivas redes de computadoras
Diapositivas redes de computadorasnatalia0223
 
IP addressing and Subnetting PPT
IP addressing and Subnetting PPTIP addressing and Subnetting PPT
IP addressing and Subnetting PPTPijush Kanti Das
 
CCNA Course Training Presentation
CCNA Course Training PresentationCCNA Course Training Presentation
CCNA Course Training PresentationRohit Singh
 
Preguntas guía de cara al examen de REDES
Preguntas guía de cara al examen de REDESPreguntas guía de cara al examen de REDES
Preguntas guía de cara al examen de REDESINÉS ARABIA DíAZ
 
Protocolos de las capas del modelo OSI
Protocolos de las capas del modelo OSIProtocolos de las capas del modelo OSI
Protocolos de las capas del modelo OSIb3rmud3z
 

What's hot (20)

Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
 
Mapa Conceptual TCP IP
Mapa Conceptual TCP IPMapa Conceptual TCP IP
Mapa Conceptual TCP IP
 
Types of ip address classes
Types of ip address classesTypes of ip address classes
Types of ip address classes
 
firewall.pptx
firewall.pptxfirewall.pptx
firewall.pptx
 
Modelo OSI y sus protocolos y componentes de red
Modelo OSI y sus protocolos y componentes de redModelo OSI y sus protocolos y componentes de red
Modelo OSI y sus protocolos y componentes de red
 
El estándar 802.11 (infografía)
El estándar 802.11 (infografía)El estándar 802.11 (infografía)
El estándar 802.11 (infografía)
 
Ieee 802.11 wireless lan
Ieee 802.11 wireless lanIeee 802.11 wireless lan
Ieee 802.11 wireless lan
 
Ip address presentation
Ip address presentationIp address presentation
Ip address presentation
 
Analog Transmission
Analog TransmissionAnalog Transmission
Analog Transmission
 
Apostila Redes
Apostila RedesApostila Redes
Apostila Redes
 
Modelo Osi
Modelo OsiModelo Osi
Modelo Osi
 
Estándares inalambricos
Estándares inalambricosEstándares inalambricos
Estándares inalambricos
 
Proceso para crear una red lan
Proceso para crear una red lanProceso para crear una red lan
Proceso para crear una red lan
 
CISCO 1 - Introduccion a las redes
CISCO 1 - Introduccion a las redesCISCO 1 - Introduccion a las redes
CISCO 1 - Introduccion a las redes
 
Diapositivas redes de computadoras
Diapositivas redes de computadorasDiapositivas redes de computadoras
Diapositivas redes de computadoras
 
IP Addressing
IP AddressingIP Addressing
IP Addressing
 
IP addressing and Subnetting PPT
IP addressing and Subnetting PPTIP addressing and Subnetting PPT
IP addressing and Subnetting PPT
 
CCNA Course Training Presentation
CCNA Course Training PresentationCCNA Course Training Presentation
CCNA Course Training Presentation
 
Preguntas guía de cara al examen de REDES
Preguntas guía de cara al examen de REDESPreguntas guía de cara al examen de REDES
Preguntas guía de cara al examen de REDES
 
Protocolos de las capas del modelo OSI
Protocolos de las capas del modelo OSIProtocolos de las capas del modelo OSI
Protocolos de las capas del modelo OSI
 

Similar to TUTORIAL BASICO EN GAME MAKER 8

Game maker
Game makerGame maker
Game makerTensor
 
Pasos para hacer un videojuego .
Pasos para hacer un videojuego .Pasos para hacer un videojuego .
Pasos para hacer un videojuego .Dianayjeferson
 
Pasos para hacer un videojuego .
Pasos para hacer un videojuego .Pasos para hacer un videojuego .
Pasos para hacer un videojuego .Dianayjeferson
 
10a daniel felipe peña creación de un videojuego
10a daniel felipe peña creación de un videojuego10a daniel felipe peña creación de un videojuego
10a daniel felipe peña creación de un videojuegoNicole2411
 
Como crear un videojuego
Como crear un videojuegoComo crear un videojuego
Como crear un videojuegoangief31
 
Desarrollo de los videojuegos alejandro bueno sanchez
Desarrollo de los videojuegos   alejandro bueno sanchezDesarrollo de los videojuegos   alejandro bueno sanchez
Desarrollo de los videojuegos alejandro bueno sanchezAlejo Bueno Sanchez
 
Diapositiva de juegos, Cesar negret velasco
Diapositiva de juegos, Cesar negret velascoDiapositiva de juegos, Cesar negret velasco
Diapositiva de juegos, Cesar negret velascoDeibyAlexanderGomezF
 
Pasos para hacer un videojuego
Pasos para hacer un videojuegoPasos para hacer un videojuego
Pasos para hacer un videojuegoDianayjeferson
 
Andrea y almudena trabajo desarrollo de videojuegos
Andrea y almudena trabajo desarrollo de videojuegosAndrea y almudena trabajo desarrollo de videojuegos
Andrea y almudena trabajo desarrollo de videojuegos1bachc11
 
Diseño de juegos
Diseño de juegosDiseño de juegos
Diseño de juegosjuan-medina
 
Modelamiento de juegos
Modelamiento de juegosModelamiento de juegos
Modelamiento de juegosingsistemas1
 
Presentacion tfm adrian_alonso_gonzalez-light
Presentacion tfm adrian_alonso_gonzalez-lightPresentacion tfm adrian_alonso_gonzalez-light
Presentacion tfm adrian_alonso_gonzalez-lightAdrián Alonso González
 

Similar to TUTORIAL BASICO EN GAME MAKER 8 (20)

Creandojuegoscongamemaker8
Creandojuegoscongamemaker8Creandojuegoscongamemaker8
Creandojuegoscongamemaker8
 
Presentacion gamemaker
Presentacion gamemakerPresentacion gamemaker
Presentacion gamemaker
 
GAME MAKER
GAME MAKERGAME MAKER
GAME MAKER
 
Game maker
Game makerGame maker
Game maker
 
Pasos para hacer un videojuego .
Pasos para hacer un videojuego .Pasos para hacer un videojuego .
Pasos para hacer un videojuego .
 
Pasos para hacer un videojuego .
Pasos para hacer un videojuego .Pasos para hacer un videojuego .
Pasos para hacer un videojuego .
 
Game maker
Game makerGame maker
Game maker
 
10a daniel felipe peña creación de un videojuego
10a daniel felipe peña creación de un videojuego10a daniel felipe peña creación de un videojuego
10a daniel felipe peña creación de un videojuego
 
Como crear un videojuego
Como crear un videojuegoComo crear un videojuego
Como crear un videojuego
 
Desarrollo de los videojuegos alejandro bueno sanchez
Desarrollo de los videojuegos   alejandro bueno sanchezDesarrollo de los videojuegos   alejandro bueno sanchez
Desarrollo de los videojuegos alejandro bueno sanchez
 
Desarrollo de videojuegos
Desarrollo de videojuegosDesarrollo de videojuegos
Desarrollo de videojuegos
 
Desarrollo de Juegos
Desarrollo de JuegosDesarrollo de Juegos
Desarrollo de Juegos
 
Diapositiva de juegos 9A
Diapositiva de juegos 9ADiapositiva de juegos 9A
Diapositiva de juegos 9A
 
Diapositiva de juegos, Cesar negret velasco
Diapositiva de juegos, Cesar negret velascoDiapositiva de juegos, Cesar negret velasco
Diapositiva de juegos, Cesar negret velasco
 
Pasos para hacer un videojuego
Pasos para hacer un videojuegoPasos para hacer un videojuego
Pasos para hacer un videojuego
 
Andrea y almudena trabajo desarrollo de videojuegos
Andrea y almudena trabajo desarrollo de videojuegosAndrea y almudena trabajo desarrollo de videojuegos
Andrea y almudena trabajo desarrollo de videojuegos
 
Diseño de juegos
Diseño de juegosDiseño de juegos
Diseño de juegos
 
Modelamiento de juegos
Modelamiento de juegosModelamiento de juegos
Modelamiento de juegos
 
Presentacion tfm adrian_alonso_gonzalez-light
Presentacion tfm adrian_alonso_gonzalez-lightPresentacion tfm adrian_alonso_gonzalez-light
Presentacion tfm adrian_alonso_gonzalez-light
 
Andres
AndresAndres
Andres
 

TUTORIAL BASICO EN GAME MAKER 8

  • 1. [TUTORIAL BASICO EN GAME MAKER 8] En este tutorial se aprenderá el uso de Game Maker 8 a nivel básico para todos aquellos que le s gustaría utilizar este programa. Biografía: Autor: Henrydarklite Edición: 1ra Lugar: México Páginas: 46 Fecha de publicación: Abril 2012
  • 2. INDICE Uso básico • Introducción • Instalación • Componentes de la versión Pro de Game Maker • Primeros pasos • La interfaz de usuario • Definiendo los sprites • Sonidos y música • Fondos • Definiendo objetos • Eventos • Acciones • Creando rooms • Distribuir tu juego
  • 3. Uso Básico Descripción del uso básico de Game Maker, explica la idea general del programa: como añadir sprites, fondos o sonidos, así cómo definir objetos con eventos y acciones para añadirlos a las rooms. Introducción Creando tus propios videojuegos Jugar a videojuegos es divertido, pero aún lo es más diseñar los tuyos propios y que otros los jueguen. Por desgracia, crear videojuegos no es fácil. Los juegos comerciales de hoy en día se desarrollan en de 1 a 3 años con equipos muy especializados de entre 10 a 50 personas y presupuestos de millones de euros. ¿Quiere esto decir que es imposible crear tus propios videojuegos? No, con Game Maker puedes crearlos sin necesidad de aprender ningún lenguaje de programación. Eso sí, no esperes conseguir tu propio Halo 4 o el Virtual Tennisen pocas semanas, aunque tampoco es necesaria tanta complejidad para que sean divertidos. Juegos más simples como el Tetris, Pacman, Space Invaders,... son igualmente divertidos y más fáciles de desarrollar. Game Maker te ofrece una sencillo e intuitivo sistema de "arrastrar y soltar" que te permite crear juegos de forma rápida. Puedes importar y crear imágenes, sprites (imágenes animadas) y sonidos, indicar cómo interactúan entre ellos y situarlos en las distintas rooms (salas) donde se desarrolla el juego, y todo esto sin necesidad de programar. Si más adelante quieres mayor control también dispones de un sencillo lenguaje de programación para controlar todos los elementos. Game Maker está pensado para desarrollar juegos bidimensionales (2D), así que si quieres crear mundos en 3D este no es tu programa. Juegos importantes como Age of Empires, las series Command and Conquer y Diablo usan tecnologías de sprites 2D, aunque parezcan tridimensionales y el desarrollo de este tipo de juegos es más fácil y rápido. Este documento te ayudará a aprender el uso de Game Maker y como realizar videojuegos, pero recuerda que sólo es una herramienta y hay muchos aspectos a tener en cuenta: historia del juego, gráficos, sonidos, interacción,... Empieza con ejemplos fáciles, aprende más y pronto serás un experto desarrollador. Disfruta del proceso creativo, comparte tus ideas y busca recursos en los foros de las siguientes webs: http://www.yoyogames.com/make http://www. taringa.net/comunidades/aprendiendogamemaker/
  • 4. Instalación Ejecuta el programa setup.exe y sigue las instrucciones de pantalla. Puedes instalarlo donde desees, pero te recomiendo dejar las opciones predeterminadas. Una vez instalado encontrarás un nuevo grupo de programas en el menú Inicio, desde donde puedes arrancar Game Maker e leer el archivo de ayuda. Dentro de la carpeta de instalación (por defecto C:Archivos de ProgramaAPGMFGame Maker) tenemos varias carpetas adicionales: Backgrounds: imágenes para los fondos. Examples: contiene varios juegos de ejemplo, para que los revises y/o modifiques. extensions: dónde se instalan las extensiones para ampliar la funcionalidad del programa. Por defecto ya vienen tres, una para imprimir (Printing), para hacer transiciones entre las rooms (Room Transitions) y para hacer diálogos de ventanas (Windows Dialogs). lib: contiene varias librerías de acciones. Si deseas instalar librerías adicionales debes colocarlas dentro de esta carpeta. Sounds: sonidos de ejemplo. Sprites: sprites de ejemplo que puedes usar en tus juegos. La instalación ya incluye algunos. Tutorials: aquí se guardan los tutoriales que se pueden seguir dentro del programa, los que aparecen en el lateral derecho. Cada uno se guarda en una carpeta diferente. Puedes descargar más recursos desde la web de Yoyo Games o de cualquier otra web. Requisitos Cualquier ordenador con menos de 5 años de antigüedad debería valer. Ordenador moderno con sistema operativo Windows. Tarjeta gráfica compatible con DirectX 8 o posterior con al menos 32 MB de memoria. Resolución de pantalla al menos de 800x600 pixeles y 65.000 colores (16-bit). Tarjeta de sonido compatible con DirectX 8. Comprueba que tienes instalados los controladores más recientes de tu equipo. Al diseñar y probar juegos, los requisitos de memoria son un poco más elevados, al menos 128 MB. Al jugar, la memoria necesaria suele ser menor, pero depende del tipo de juego.
  • 5. Componentes de la versión Pro de Game Maker La versión Pro que es gratuita gracias al usuario bra101yan incluye: Sprites: podrás rotarlos, transformar su color o hacerlos translúcidos. Editor de sprites e imágenes con más opciones. Más acciones: cargar música desde un CD, rotar texto, crear formas de colores... Efectos especiales de sonido y sonido posicional. Crear pantallas de inicio con películas, imágenes, sitios web, textos... Sistema de partículas para crear efectos de fuego, lluvia, explosiones... Funciones avanzadas de dibujo como polígonos texturizados. Funciones para gráficos en 3D. Funciones para crear juegos multijugador o jugar en red. Podrás definir tus propias transiciones entre rooms. Funciones para crear y modificar recursos (sprites, fondos,...) durante el juego. Funciones para usar estructuras de datos. Funciones para planificar movimientos. Posibilidad de incluir más archivos en tiempo real durante el juego. La edición Pro puede ampliarse con extensiones, que pueden ser creadas por cualquiera y suelen ser gratis. Tres de esas extensiones ya están incluidas y añaden transiciones entre estancias, cuadros de diálogo y servicios de impresión. Podrás definir tus propios eventos triggers. Herramientas para crear juegos colaborativos, pudiendo importar y exportar recursos.
  • 6. Primeros pasos Crear tu primer juego siempre es un reto, pero si pones un poco de esfuerzo por tu parte, será bastante más fácil. En una hora podrías tener listo un juego sencillo. A pesar de que hacer juegos con Game Maker es muy sencillo, necesitarás comprender los conceptos básicos del programa. Para conseguirlo te recomiendo seguir el tutorial que se muestra a la derecha al empezar. Si no lo ves, vete al menú ayuda (Help) y escoge la opción Tutorial. Conceptos básicos del programa Los juegos creados con Game Maker se desarrollan en una o más rooms (salas) que es donde colocarás los objetos, por ejemplo paredes, al protagonista o los enemigos. Algunos de estos objetos son estáticos como las paredes, mientras otros, como el protagonista, se mueven e interactúan con otros objetos reaccionando a las órdenes del jugador, que los controla mediante el teclado, el ratón o el joystick. Estos elementos son los más importantes del juego. La mayoría de los objetos necesitan alguna imagen para hacerse visibles en pantalla. Estas imágenes se llaman sprites y pueden ser estáticos (una imagen) o animados (varias imágenes simulando movimiento). De esta forma parece que el personaje camina, que una pelota rueda, etc. Durante el juego el sprite de un objeto puede cambiar, por ejemplo el personaje se ve diferente cuando camina a izquierda o a derecha. Puedes crear y editar sprites en el propio programa o importarlos de otros, como GIFs animados. Los objetos reaccionan a los diferentes tipos de eventos que hay y ejecutan las acciones que estén asociadas a los mismos. Estos eventos les suceden a las instancias de los objetos, que son su representación en pantalla. Por ejemplo, sólo tienes 1 objeto enemigo, pero puedes colocar el número de instancias del objeto enemigo que desees. Al crear la instancia se ejecutan las acciones asociadas al evento Crear, cuando choca contra otra instancia de objeto sucede el evento Colisión, etc. Más adelante lo veremos en detalle. Las rooms pueden ser empleadas como niveles del juego o para mostrar diferentes lugares y tienen acciones propias que permiten pasar de unas a otras. Lo más básico es ponerle un fondo que puede ser un color o una imagen. En cada room colocas el número de instancias que quieras de los objetos definidos. Por ejemplo en la room A puedes colocar 4 instancias del objeto enemigo y en la room B puedes colocar 6. Ya puedes probar el juego. Se mostrará la primera room y los objetos cobrarán vida debido a las acciones de sus eventos de creación, interactuarán unos con otros por las acciones asignadas a sus eventos de colisión y reaccionarán a lo que haga el jugador porque tienen acciones en sus eventos de teclado o ratón. En resumen, los siguientes recursos tienen un papel fundamental en el proyecto:
  • 7. Objetos (objects): son las entidades verdaderas en el juego. Rooms (salas): los lugares donde situamos los objetos. Sprites: imágenes que se emplean para representar a los objetos. Sonidos (sounds): como música de fondo o efectos sonoros. Fondos (backgrounds): las imágenes de fondo para las rooms. Hay más recursos que se usan para juegos más complicados como los caminos (paths), guiones (scripts), tipografías (fonts) o líneas de tiempo (time lines). La interfaz del usuario Al iniciar el Game Maker se muestra la siguiente ventana, junto con el primer tutorial a la derecha: A la izquierda puedes ver un listado con los recursos: sprites, sonidos (sounds), fondos (backgrounds), scripts, objetos (objects), salas (rooms) y dos más: Información del juego (Game Information) y Opciones del juego (Game Options). En la parte superior están el menú y la barra de herramientas. En este capítulo explicaremos brevemente las opciones del menú, los botones, etc. Más adelante ampliaremos información sobre algunos de ellos. Recuerda que muchas cosas se pueden lograr de diferen tes maneras:
  • 8. seleccionando un comando del menú, haciendo clic en un botón o haciendo clic derecho sobre un recurso. Estas son las funciones que tiene game maker en la barra lateral Es para crear un nuevo archivo Es para cargar un archivo Es para guardar el archivo Es para crear tu proyecto en archivo con extension .exe Es para publicar tu juego en yoyogames.com Es para previzualizar tu juego Es para lanzar un debug (no recomendado utiliza mucha memoria) Es para cargar o crear un sprite Es para cargar un sonido Es para cargar o crear un background Es para hacer un path (Movimientos relativos) Es para hacer un script GML Es para cargar una fuente a tu juego ejemplo: Arial Es para hacer un timeline (linea de tiempo) Es para hacer un objeto (lo que llevara tu juego como el jugador,blockes,etc) Es para hacer un cuarto (los niveles) Es para poner la info de tu juego (NO RECOMENDABLE) Es para poner las opciones globales de tu juego como:Iniciar en pantalla completa,Ver mouse,etc... Es para cargar extensiones (En este caso no necesario) Es para ver para que sirve cada script GML (AYUDA EN SCRIPT) Menú archivo (file) Los comando habituales para abrir y guardar archivos. Los comando con * tienen un botón en la barra de herramientas. Nuevo (New)*. Para empezar a crear un juego nuevo. Si el juego actual tiene modificaciones se te pregunta si quieres guardarlo. Abrir (Open)*. Abre un archivo de juego. Los archivos de Game Maker tienen la extensión .gmk. También puedes abrir archivos antiguos con extensión .gm6. y si quieres abrir archivos .gmd creados con la versión 5 tienes que seleccionar el tipo de archivo adecuado en la parte de abajo del cuadro de diálogo. Estos últimos podrían no funcionar correctamente en la nueva versión.
  • 9. También puedes abrir un juego arrastrando el archivo a la ventana de Game Maker. Archivos recientes (Recent files). Usa este submenú para volver a abrir los archivos usados recientemente. Guardar (Save)*.Guarda el archivo del juego con el nombre actual, sino lo tiene aún te aparece una ventana para dárselo. Este comando sólo está disponible cuando el proyecto ha cambiado. Guardar como (Save as). Guarda el juego con otro nombre. Se te pide un nuevo nombre. Crear ejecutable (Create executable). Mediante este comando puedes crear una versión ejecutable de tu juego que funciona sin necesidad de tener instalado Game Maker. Con este archivo puedes distribuir tu juego a quien quieras. Modo avanzado (Advanced mode). Al hacer clic en este comando se cambiará entre los modos simple y avanzado. En el avanzado tienes disponibles más comandos y recursos. Salir (Exit). Para salir del programa. Si hiciste cambios en el juego actual se te preguntará si quieres guardarlo. Menú Editar (Edit) Contiene comandos relacionados con el recurso (objeto, sonido, etc.) o grupo de recursos seleccionado. Dependiendo del tipo algunos comandos pueden no estar disponibles. Insertar recurso (Insert resource). Inserta una nueva instancia del tipo de recurso actualmente seleccionado antes del mismo. Si seleccionaste un grupo de recursos es agregado al grupo. Se abrirá un cuadro de diálogo en el que puedes cambiar las propiedades. Duplicar (Duplicate). Crea y agrega una copia del recurso actual. Se abre una ventana en la que puedes modificarlo. Borrar (Delete). Borra el recurso o grupo de recursos seleccionado. Este comando no puede deshacerse, por lo que verás una advertencia para confirmar su eliminación. Renombrar (Rename). Dale un nuevo nombre al recurso. También lo puedes hacer en su ventana de propiedades. Propiedades (Properties). Usa este comando para mostrar la ventana de edición de propiedades que se mostrará en la ventana principal. Puedes editar varias al mismo tiempo. También puedes acceder a las propiedades haciendo doble clic en el re curso. Estos comandos también puedes aplicarlos de otra forma. Haz clic derecho en un recurso o grupo de recursos, y aparecerá el menú apropiado.
  • 10. Menú recursos (Resources) Puedes crear nuevos recursos de cualquiera de los tipos disponibles. Para cada uno de ellos también hay un botón en la barra de herramientas y un acceso directo desde el teclado. También puedes cambiar la información del juego y las preferencias generales.. Menú Ejecutar (Run) Se usa para ejecutar el juego de las siguientes maneras: Normal (Run normally). Ejecuta el juego en modo normal y de la manera más eficiente posible como si fuera un ejecutable. Depuración de errores (Run in Debug mode). Ejecuta el juego en modo depuración. En este modo puedes revisar el 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 acción del menú archivo. Menú Ventana (Window) Comandos para manejar las propiedades de las ventanas de la ventana principal. Cascada (Cascade). Coloca todas las ventanas en cascada de forma que cada una sea parcialmente visible. Reordenar iconos (Arrange Icons). Ordena todas las ventanas. Útil al cambiar de tamaño la ventana principal. Cerrar todo (Close All). Cierra todas las ventanas de propiedades, preguntando si se desea guardar o no los cambios realizados. Menú Ayuda (Help) Comandos de ayuda: Contenidos (Contents). La ayuda en formato CHM. Tutoriales (Tutoriales). Usa este submenú para ver los tutoriales que te enseñarán a crear tus primeros juegos. Actualizarse a la versión Pro (Upgrade to Pro Edition). Para poder usar todas las funciones del programa. Introducir código de activación (Enter Activation Code). Si ya has comprado Game Maker antes, usa este comando para introducir tu código. Te llevará a una página web para hacerlo efectivo.
  • 11. Noticias (News). Consulta las últimas noticias sobre el programa. Libro (Book). Te lleva a la web del libro de Game Maker. Más tutoriales (More tutorials). Te conecta a una web para que te descargues más tutoriales. Sitio Web (Web). Te lleva a la web oficial del programa, donde podrás encontrar juegos y más recursos. Foro (Forum). Te conecta al foro oficial, donde puedes encontrar ayuda y recursos. Wiki (Wiki). Te conecta con la wiki de Game Maker donde encontrarás información de utilidad ordenada por temas. About Game Maker. Breve información sobre el programa. El explorador de recursos En la parte izquierda de la pantalla verás el explorador de recursos, con una lista desplegable con todos los recursos de tu juego. Si un elemento tiene un signo + a su lado puedes hacer clic para verlos todos y los puede ocultar clicando en el signo -. Selecciona y haz clic sobre un recurso para cambiarle el nombre. Doble clic sobre él para editar su propiedades. Usa el botón derecho para acceder a los comandos del menú Editar. Puedes cambiar el orden de la lista haciendo clic en un recurso y manteniendo pulsado el botón del ratón. Arrástralo al lugar que quieras dentro del mismo tipo. Definiendo los sprites Los sprites son las representaciones visuales de todos los objetos en el juego. Un sprite puede ser una imagen simple o un juego de varias imágenes que, reproducidas una tras otra, crean un efecto de movimiento (animación). Por ejemplo, las siguientes imágenes forman un sprite para un personaje moviéndose hacia la derecha. Al empezar a crear tu juego debes dibujar o buscar los todos los sprites para los objetos que vas a usar. Con el programa vienen incluidos unos cuantos (carpeta Sprites), pero puedes descargarte más de la web de Game Maker o de otros sitios en Internet. Suelen estar en formato .png o .gif (estáticos o animados). Para crear un sprite selecciona el comando Crear Sprite (Create Sprite) del menú de Recursos (Resources) o usa el botón correspondiente en la barra de menús (Pacman rojo), se verá la siguiente ventana:
  • 12. En la parte superior izquierda escribe el nombre del sprite, pues todos los recursos del juego deben llevar uno. Procura que sea descriptivo, fácil de recordar y que no se repita. Se recomienda sólo usar letras, números y el guión bajo (_) en los nombres de los recursos ( sprites, objetos, sonidos...) y empezar el nombre con una letra. Evita usar espacios en blanco, pues darían problemas en caso de usar código. Haz clic en el botón Cargar Sprite (Load Sprite) para abrir el siguiente cuadro de diálogo: En la parte izquierda hay un selector de archivos donde puede elegir la imagen que quieres y en la
  • 13. parte derecha puedes previsualizar el sprite animado y ver alguna información sobre él. Aquí puedes indicar si lo quieres hacer opaco (se borrarán las partes transparentes), borrar el fondo haciéndolo transparente (por defecto) y si quieres suavizar los bordes, lo que puede mejorar su apariencia. Pulsa Abrir (Open) cuando estés satisfecho con el resultado. Game Maker puede abrir diferentes tipos de imágenes. Al cargar un .gif animado, todas las subimágenes formar la imagen del sprite. Cuando el nombre del archivo acaba con _stripXX, con XX como un número, se considera que contiene una tira de subimágenes una junta a la otra (no para .gifs). Por ejemplo, con el nombre bola_strip4.png se asume que hay 4 subimágenes. Una vez que se carga el sprite, se mostrará la primera subimagen a la derecha y si hay varias puedes verlas una a una usando los botones con las flechas. Con el botón Editar Sprites (Edit Sprite) puedes editar el sprite o incluso crear uno nuevo. Game Maker trae integrado un editor de imágenes y sprites. Para más información ve a las secciones Editando tus sprites y Editando subimágenes individualmente. Sonidos y música La mayoría de juegos tienen efectos de sonido y música de fondo para hacerlo más atractivos. Puedes encontrar ejemplos de sonidos en la carpeta Sounds en el directorio de instalación del programa o descargarlos desde la web de Game Maker u otros sitios en Internet. Para añadir un recurso de sonido al juego, usa el comando Crear Sonido (Create Sound) del menú Recursos (Resources) o usa el botón del altavoz en la barra de herramientas. Se mostrará la siguiente ventana:
  • 14. Para cargar un sonido pulsa el botón Cargar Sonido (Load Sound) y aparecerá un cuadro de diálogo para seleccionar el archivo de sonido que te interese. Hay dos tipos de archivos admitidos: wave (*.wav). Para efectos cortos de sonido, usan mucha memoria pero se reproducen al momento. midi (*.midi). Necesitan mucha menos memoria para ser reproducidos, pero sólo se puede usar uno a la vez y para música de fondo. Una vez que has cargado el archivo de música puedes escucharlo usando el botón Rep roducir (Play). También hay un botón Guardar Sonido (Save Sound) para guardar el sonido actual a un archivo, que será de utilidad en caso de perder el original. Fondos El tercer tipo de recurso básico son los fondos, que normalmente son imágenes grandes usadas como fondo de las rooms en las que se desarrolla el juego. A menudo están hechas con tiles (mosaicos) de manera que puedes rellenar el espacio con un motivo y sin separaciones visuales entre los bloques. Puedes encontrar ejemplos en la carpeta Backgrounds dentro del directorio de instalación del programa o descargarlas de la web de Game Maker u otras por Internet. Para añadir un recurso de fondo a tu juego, usa el comando Crear Fondo (Create Background) en
  • 15. el menú Recursos o usa el botón correspondiente de la barra de herramientas. Se mostrará la siguiente ventana: Dale un nombre descriptivo arriba a la izquierda. Pulsa el botón Cargar Fondo (Load Background) para seleccionar el archivo que te interese. A la derecha del selector de archivos puedes indicar si quieres que el fondo sea opaco (se borrarán las partes transparentes), que se borre el fondo o se haga transparente (por defecto no) y si se suavizan los bordes, lo que mejorará su aspecto cuando es parcialmente transparente. Cuando estés satisfecho con el resultado pulsa Abrir (Open) y carga el archivo. ¡Los fondos no pueden ser animados! Puedes cambiar el fondo o crear uno nuevo usando el botón Editar Fondo (Edit Background) que abrirá un editor de imágenes. Para saber cómo usarlo puedes ir a la sección Editando subimágenes (Editing images). Ten cuidado al usar imágenes muy grandes, algunas tarjetas gráficas antiguas no admiten que sean mayores que la pantalla, así que procura que sean menores de 1024x1024 pixeles. Definiendo Objetos Ya hemos añadido imágenes y sonidos al juego, pero ninguno de ellos realiza ninguna acción, no interactúan con nada. Es hora de hablar del recurso más importante dentro de Game Maker: los objetos. Los objetos son las entidades que hacen las cosas en el juego, casi siempre tienen un sprite como representación gráfica 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, concretamente, son instancias de objetos. También los hay invisibles, que no ves pero controlan ciertos aspectos de la partida.
  • 16. Fíjate en la diferencia entre los sprites y los objetos. Los sprites son solo imágenes que no tienen ningún comportamiento asociado. Los objetos normalmente están representados por un sprite, pero también tienen un comportamiento para interactuar. ¡Sin objetos no hay juego! También fíjate en la diferencia entre los objetos y las instancias. Un objeto describe cierta entidad, por ejemplo un enemigo. Pero en el escenarios puedes poner el número de instancias del objeto que desees y todas serán iguales. Si modificas el objeto original, todas sus instancias cambiarán. Para añadir un objeto al juego, selecciona el comando Crear Objeto (Create Object) del menú Recursos (Resources). Aparecerá la siguiente ventana: A la izquierda se muestra la información general del objeto, en el medio hay varios eventos que le pueden suceder y a la derecha las acciones asociadas con dichos eventos. De los eventos y las acciones hablaremos en los próximos capítulos. Como siempre, debes darle un nombre descriptivo al objeto. Después, elije uno de los sprites ya creados para que sea su representación visual. Para hacerlo, haz clic con el botón izquierdo del ratón en la caja de Sprite o en el botón a su derecha para mostrar todos los disponibles. Selecciona el que quieras. Si todavía no tienes ninguno puedes darle a Nuevo (New) para añadir uno y luego lo puedes cambiar. También, cuando selecciones un recurso, verás un botón Editar (Edit) para editar sus propiedades. Esto es más rápido que buscarlo en la lista de recursos e indicar que lo quieres
  • 17. editar. Debajo hay dos opciones: Visible (Visible). Indica si las instancias de este objeto serán visibles. Lo más habitual es que los objetos se puedan ver pero en algunas ocasiones es útil tener algunos invisibles, por ejemplo como guías de movimiento para un enemigo. Estos objetos invisibles reaccionan a eventos y otras instancias pueden colisionar con ellos. Sólido (Solid). Indica si se trata de un objeto macizo (como una pared). Las colisiones con sólidos son tratadas de forma diferente que los no-sólidos. Se recomienda usar esta opción sólo para objetos que no se mueven. Eventos Game Maker emplea lo que se conoce como programación orientada a eventos. Esto es, en todo tipo de situaciones las instancias de los objetos reciben eventos reaccionando a ellos ejecutando alguna acción. A cada uno de los objetos debes indicarle a que eventos responderá y las acciones asociadas a ellos. Aunque pueda sonar complicado, verás que en realidad es muy sencillo y lo podrás hacer con botones de arrastrar y soltar. En el medio de la ventana de propiedades de objeto hay una lista de eventos a los cuales dicho objeto puede reaccionar, al principio está vacía. Pulsa el botón Añadir Evento (Add Event), aparecerá un pequeño menú con todos los tipos de eventos disponibles para agregar desde aquí los que te interesen. En ocasiones se mostrará un submenú con opciones extra. Por ejemplo en el evento de teclado aparecerá una lista con todas las teclas disponibles. Al final de esta página encontrarás una descripción detallada de todos los eventos. Selecciona un evento de la lista, que será el que modificaremos y aparecerá en el listado de eventos de las propiedades del objeto. A la derecha de todo, agrupadas en varias pestañas, están todas las acciones representadas por iconos que reaccionan a los eventos, que veremos más adelante en detalle. Entre los eventos y las acciones se encuentra la lista con las acciones para el evento actual. Para agregar una acción a la lista arrástrela desde la derecha hasta aquí y se situarán una debajo de otra con una breve descripción. Para cada una de las acciones se te pedirán algunos parámetros que veremos más adelante. Después de añadir algunas, tendrías algo así:
  • 18. Puedes añadir acciones para otro evento, haz clic con el botón izquierdo sobre el que quieras y arrastra nuevas acciones a la lista. Puedes cambiar el orden de las acciones de la lista arrastrando los iconos. Si mantienes pulsada l a tecla <Alt> mientras arrastras, harás una copia de la acción. Incluso puedes arrastra acciones entre listas de diferentes objetos. Con el botón derecho del ratón se mostrará un submenú desde el que borrar, copiar o pegar acciones. Puedes seleccionar varias acciones para cortar, copiar o borrar pulsando la tecla <Shift> o <Ctrl>. Presionando las teclas <Shift><A>seleccionas todas. Si mantienes el cursor del ratón sobre una acción se muestra una descripción más detallada de la misma... Para borrar el evento seleccionado y todas sus acciones pulsa el botón Borrar (Delete). Los eventos sin acciones son eliminados automáticamente cuando cierras la ventana sin necesidad de que hagas nada. Si deseas asignar las acciones a un evento diferente (cambio de tecla, por ejemplo) pulsa el botón Cambiar (Change) y selecciona el nuevo evento, que no debe haber sido empleado antes. Usando el submenú que aparece con el botón derecho del ratón en la lista de evento puedes duplicarlo, esto es, agregar un nuevo evento con las mismas acciones. Tal como se indicó antes, para añadir un evento pulsa el botón Añadir Evento (Add Event) y se mostrará la siguiente ventana:
  • 19. Aquí selecciona el evento que vas a añadir, algunas veces aparece un nuevo menú con opciones extra. Esta es la descripción de los eventos disponibles, pero recuerda que normalmente sólo usarás algunos de ellos, en función de las necesidades del objeto dentro de tu juego: Evento crear (Create event) Sucede cuando se crea una instancia del objeto. Normalmente se usa para establecer el movimiento de la instancia y/o establecer algunas de sus variables. Evento Destruir (Destroy event) Ocurre cuando la instancia es destruida, exactamente justo antes de que sea destruida. Esto quiere decir que la instancia aún existe cuando el evento es ejecutado. Habitualmente no se usa, pero puedes emplearlo, por ejemplo, para cambiar el marcador o crear algún otro objeto. Eventos alarma (Alarm Event) Cada instancia tiene 12 relojes de alarma. Puedes configurarlos usando ciertas acciones (ver el siguiente capítulo). El reloj de la alarma hace una cuenta regresiva hasta que llega a 0, que es cuando se genera el evento. Para indicar las acciones para un reloj de alarma, primero necesitas seleccionarlo en el menú. Los relojes de alarma son muy útiles, puedes usarlos para hacer que ciertas cosas se repitan una y otra vez. Por ejemplo, un enemigo podría cambiar de dirección cada 20 pasos, en cuyo caso una de las acciones en el evento debe configurar nuevamente la alarma. Eventos paso (Step events) El evento step sucede a cada paso/frame del juego. Puedes colocar acciones que requieren ejecutarse continuamente. Por ejemplo, si un objeto debe seguir a otro, puedes adaptar la dirección de movimiento hacia el objeto que se está siguiendo. Hay que tener cuidado con el uso de este evento para evitar ralentizar el juego, no coloques acciones muy complicadas en objetos con muchas instancias. Hay tres tipos diferentes del evento step, normalmente sólo necesitarás la que viene por defecto pero usando el submenú puedes seleccionar el inicio o el final del evento step. El inicio se ejecuta
  • 20. al comienzo de cada paso, antes de que suceda cualquier otro evento. El normal se ejecuta antes de que se coloquen las instancias en sus nuevas posiciones y el final justo antes de que se dibuje la escena. Uno de sus usos útiles es cambiar el sprite dependiendo de la dirección actual. Eventos de colisión (Collision events) En el momento en que dos instancias colisionan ocurre un evento de colisión, para ser más precisos, ocurren dos, uno por cada instancia. Debes seleccionar en el menú el objeto con el que choca y después colocar las acciones asociadas a él. Si no hay acciones asociadas a este evento no sucede nada, la instancia actual seguirá moviéndose aun cuando el otro objeto sea sólido. Dependiendo si choca con un objeto sólido u otro no sólido la reacción a las acciones es diferente: - El otro objeto es sólido. La instancia vuelve al lugar anterior a la colisión y entonces se ejecuta el evento. Por ejemplo, si la acción asociada al evento invierte la dirección de movimiento, la instancia rebota en la pared sin detenerse. Si hay una nueva colisión se mantiene en su lugar previa y deja de moverse. - El otro objeto no es sólido. La instancia no rebota, el evento se ejecuta en la posición actual. Al no ser sólido, lo podemos atravesar o pasar sobre él y el evento nos notifica lo que está sucediendo. Existen muchos usos para este evento, para rebotar contra las paredes, destruir algún objeto cuando es alcanzado por una bala, etc. Eventos de teclado (Keyboard events) Cuando el jugador pulsa una teclas sucede un evento de teclado para todas las instancias de todos los objetos. Se puede definir un evento por cada tecla, seleccionándola en el submenú y asignándole las acciones que quieras. Lógicamente no es necesario asignar todas las teclas, sólo usarás las que necesites para cada uno de los objetos del juego. El evento sigue activo mientras la tecla siga pulsada. Dentro de estos eventos, hay dos especiales, uno es el <No Key> (Ninguna tecla) que sucede en cada paso cuando no hay nada pulsado y el otro es <Any Key> (Cualquier tecla) que sucede al presionar cualquiera. Si el jugador pulsa varias suceden los eventos de todas ellas. Las teclas del teclado numérico sólo funcionan cuando está activada <BloqNum>. Eventos de ratón (Mouse Events) Suceden cuando el cursor se encuentra sobre el sprite que representa la instancia del objeto. Existen los eventos no button, left button, right button o middle button (ningún botón, izquierdo, derecho o central) que se generan mientras se mantenga presionado cualquiera de ellos. Los
  • 21. eventos press y release (pulsar y soltar) se generan una sola vez cuando se pulsa o suelta el botón, respectivamente. Recuerda que sólo suceden cuando el ratón está sobre la instancia, si se pulsa un botón en algún lugar sin objetos no ocurrirá nada, salvo que uses los eventos globales del submenú que reaccionarán a cualquier clic en cualquier sitio. También hay dos eventos especiales que se suelen usar para cambiar el sprite o activar algún sonido, el mouse Enter y mouse leave (entrar y salir), el primero sucede cuando el ratón se pone encima de la instancia y el segundo cuando la abandona. Los denominados mouse wheel up y mouse wheel Down (rueda arriba o abajo) se activan al mover la rueda del ratón. Por último hay una serie de eventos para joysticks, donde indicas acciones para las 4 direcciones principales (en diagonal se ejecutarían ambos eventos) y para 8 botones. Puedes programarlo para dos joysticks. Otros eventos (Other events) Hay otros eventos que pueden ser útiles en ciertos juegos y los puedes encontrar en este submenú: Fuera de la sala (Outside room) Ocurre cuando la instancia se encuentra completamente fuera de la room. Suele ser un buen momento para destruirla. Cruzando el límite (Intersect boundary) Ocurre cuando la instancia llega al borde del cuarto. Vistas (View) Son útiles cuando usas vistas en tus rooms, comprueban cuando desaparece la instancia de una determinada vista o llega al borde de la vista. Comienzo de juego (Game start) Se genera para todas las instancias en la primera room donde se inicia el juego. Sucede antes que el evento room start (ver abajo) y que los eventos create de las instancias en el cuarto. Se suele definir normalmente en un solo objeto "controlador" y se usa para reproducir alguna música de fondo, asignar valores iniciales a algunas variables o para cargar datos. Fin de juego (Game end) Sucede para todas las instancias cuando termina el juego. Como el anterior, lo normal es que lo defina un sólo objeto. Se puede emplear para guardar la información del juego en un archivo.
  • 22. Comienzo de sala (Room start) Se genera para todas las instancias de la room cuando esta se inicia y antes que los eventos de creación. Fin de sala (Room end) Se genera para todas las instancias existentes cuando finaliza la room actual. Sin vidas (No more lives) Game Maker tiene un sistema de vidas interno y una acción para especificar y cambiar su número. En el momento que sea menor o igual a 0, se genera este evento. Normalmente se emplea para terminar o reiniciar el juego. Sin energía (No more health) Game Maker tiene un sistema interno de energía y una acción para especificar y cambiar el nivel de energía. En el momento que la energía sea menor o igual a 0, ocurre este evento. Normalmente se emplea para disminuir el número de vidas o para reiniciar el juego. Fin de la animación (End of animation) Como se indicó antes, una animación consiste en varias imágenes que se muestran de forma consecutiva y al llegar a la última se vuelve a la primera. Este evento sucede en ese preciso momento. Se puede usar para, por ejemplo, cambiar la animación o destruir la instancia. Finde trayectoria (End of path) Este evento ocurre cuando la instancia que sigue una trayectoria (path) llega al final de la misma. Botón cerrar (Close button) Sucede cuando el jugador hace clic en el botón cerrar de la misma ventana. Sólo funciona cuando, en las preferencias del juego, está desmarcada la opción que el botón cerrar se comporte como la teclas <Esc>. Definido por el usuario (User defined) Hay 16 de estos eventos. Normalmente nunca suceden a menos que tú mismo los llames desde un código propio. Evento Dibujando (Drawing event) Las instancias, cuando son visibles, dibujan su sprite en la pantalla en cada paso. Cuando indicas acciones en el evento de dibujo, no se dibuja el sprite, sino que se ejecutan esas acciones en su lugar. Esto se puede usar para dibujar algo más que un sprite, o para cambiar los parámetros del sprite. Hay varias acciones de dibujo especialmente diseñadas para ser usadas en el evento drawing, que
  • 23. sólo se ejecuta cuando el objeto es visible. Recuerda que, independientemente de lo que dibujes aquí, los eventos de colisión se basan en el sprite que está asociado a la instancia. Eventos Pulsar Tecla (Key press events) Similar al evento teclado (keyboard) pero éste sólo ocurre una vez cuando se presiona la tecla y no de forma continua. Útil cuando quieres que la acción sólo ocurra una vez (sólo un disparo, por ejemplo). Eventos Soltar Tecla (Key release events) Similar al evento teclado (keyboard), pero éste sólo ocurre una vez cuando se suelta la tecla y no de forma continua. En algunas situaciones es importante conocer el orden en el cual el Game Makerprocesa los eventos. Sería el siguiente orden: Eventos Begin Step Eventos Alarm Eventos Keyboard, Key press, y Key release Eventos Mouse Eventos Step normales (ahora todas las instancias se colocan en sus nuevas posiciones) Eventos Collision Eventos End Step Eventos Draw Los eventos de creación (create), destruir (destroy) y otros son generados en el momento pertinente. Acciones Las acciones indican lo que sucede en un juego creado con Game Maker y se colocan en los eventos de los objetos. Cuando ocurre uno de estos eventos (por ejemplo, cear), las acciones asociadas repercuten en las instancias de los objetos realizando algún comportamiento (por ejemplo, moverse). Hay muchas acciones disponibles y es importante entender lo que hace cada una, aquí describiremos las que se pueden usar en modo simple. A la derecha de la ventana de propiedades del objeto, están agrupadas todas las acciones en seis grupos de pestañas. Puedes ver cada grupo de acciones haciendo clic en la pestaña correspondiente y una breve descripción de cada una mantiendo el ratón sobre ellas. Recuerda: para colocar una acción en un evento sólo tienes que arrastrarla desde su posición
  • 24. (derecha) a la lista e acciones (centro). Puedes cambiar el orden de esta lista arrastrando sus elementos. Si mantienes pulsada la tecla <Alt> mientras arrastras haces una copia y puedes arrastrar y copiar acciones entre listas de diferentes objetos. Usa el botón derecho del ratón para borrar, copiar o pegar. Cuando colocas una acción suele aparecer un cuadro de diálogo donde le puedes especificar algunos parámetros, hay dos en concreto bastante habituales. En la parte superior puedes indicar a que instancia se le va a aplicar la acción, que por defecto es self, la misma instancia en la que estás trabajando. Habitualmente no es necesario cambiarlo. En el caso de un evento colisión, puedes indicar si se aplica la acción a la otra instancia involucrada, pudiendo de esta forma, por ejemplo, destruirla. Por último, puedes elegir si aplicas la acción a todas las instancias de un objeto, de esta forma podrías cambiar el color de todas las pelotas rojas en azules. El segundo parámetro es la casilla amrcada como Relative (Relativo). Si la marcas, los valores que escribas serán relativos a los actuales en el momento de aplicar la acción. De esta forma podrías sumarle puntos a un marcador en lugar de repetir siempre el mismo número. Podrás editar todos los valores los cuando quieras haciendo doble clic sobre la ación que te interese.. Los seis puntos de acciones en detalle: Acciones de movimiento (move) Movimiento (Move) Movimiento fijo (Move Fixed) La instancia del objeto se empieza a mover en la dirección y velocidad indicadas. Para indicar la dirección haz clic sobre una de las flechas. Si marcas varias se elegirá una al azar (por ejemplo para que un enemigo aparezca moviéndose a la izquierda o a la derecha). Para detener el movimiento deja marcado el botón del medio. La velocidad está indicada en pixeles por paso y por defecto es 8. Procura evitar los valores de negativos. Movimiento libre (Move free) Esta es la segunda forma en la que puedes asignar un movimiento. Puedes indicar la dirección con más precisión, eligiendo un ángulo de entre 0 y 360 grados, donde
  • 25. 0 significa a la derecha y aumenta en sentido contario a las agujas del reloj (90º sería hacia arriba). Si quieres lograr una dirección aleatoria escribe random(360) pues, como verás más adelante, esta función random devuelve un número al azar menor que el indicado. Si marcas la casilla Relativo (Relative) el nuevo movimiento se sumará al que actual, por ejemplo, si la instancia va hacia arriba y le añades un pequeño movimiento a la izquierda, la dirección resultante será en diagonal arriba a la izqquierda. Mover hacia (Move Towards) Esta acción ofrece un tercera forma para indicar un movimiento. Sólo tienes que indicar una posición y la velocidad para que la instancia cominece a moverse con la velocidad seleccionada a la posición dada, pero no se detendrá en dicho lugar. Por ejemplo, si quieres que una bala vuele hacia la posición de una nave espacial (llamada nave), puedes usar como posición nave.x y nave.y (más adelante aprenderás sobre estas variables). Si marcas la cailla Relativo (Relative) especificas una posición relativa a la actual que tiene la instancia, la velocidad no se toma como relativa. Velocidad horizontal (Speed horizontal) La velocidad de una instancia está formada por una parte horizontal y otra vertical. Con esta acción puedes modificar la velocidad horizontal, si es positiva el movimiento va hacia la derecha y si es negativa hacia la izquierda. La vertical permanecerá constante. Usa la opción Relativo para incrementarla o disminuirla respecto a la actual. Velocidad vertical (Vertical speed) De forma similar, con esta acción cambias la velocidad vertical. Si indicas un valor positivo la instancia se moverá hacia abajo y si es negativo hacia arriba. Establecer gravedad (Set gravity) Con esta acción puedes simular el efecto de la gravedad en un objeto, indicando l adirección (entre 0 y 360 grados) y la velocidad. A cada fotograma del juego esa velocidad se incrementará en la dirección dada. Lo normal es usar un número pequeño (como 0.01) en dirección descendente (270º). Marcando la casila Relativo incremetas la velocidad de gravedad y la dirección. Al contrario que en el mundo real, los objetos pueden tener diferentes direcciones de gravedad.
  • 26. Rebote horizontal (Reverse horizontal) Con esta acción puedes invertir el movimiento horizontal de la instancia. Por ejemp lo, cuando un objeto colisiona con una pared vertical. Rebote vertical (Reverse vertical) Con esta acción puedes invertir el movimiento vertical de la instancia. Por ejemplo, cuando un objeto colisiona con una pared horizontal. Establecer la fricción (Set friction) La fricción disminuye la velocidad de la instancia y aquí especificas el valor de dicha reducción. En cada fotograma se restará de la velocidad actual hasta llegar a 0. Lo normal es usar un número pequeño (como 0.01) porque si fuera muy al to la instancia se pararía muy rápido. Llevar a (Jump) Llevar a una posición (Jump to Position) Usando esta acción puedes colocar la instancia en la posición que quieras, sólo tienes que indicar las coordenadas x e y para que la instancia aparezca allí con su punto de referencia como origen. Si marcas la casilla Relativo, la posición se modifica respecto a la actual. Se suele usar en instancias que se mueven continuamentem en cada fotograma incremetemos la posición un poco. Llevar al origen (Jump to Start) Esta acción coloca la instancia a la posición donde fue creada en su momento. Llevar a posición aleatoria (Jump to Random) Esta acción mueve la instancia a una posición aleatoria en la room, donde no se solape con algún objeto sólido. Puedes indicar que ajuste (snap) se usará. Con valores positivos las coordenadas serán elegidas con múltiplos enteros de esos números. Puede ser útil para mantener la alineación con las celdas de la cuadrícula de tu juego (si la hay), la velocidad horizontal y vertical se pueden especificar por separado. Alinear a la cuadrícula (Align to grid) Con esta acción puedes alinear la posición de una instancia a la cuadrícula inicando sus valores horizontal y vertical, esto es, el tamaño de las celdas. Puede ser útil para asegurarte que las
  • 27. instancias se mantienen en la cuadrícula. Teleportación (Wrap screen) Con esta acción puedes hacer que cuando una instancia salga de la room por un lado aparezaca por el contrario (teleportación). Normalmente se usa en el eventoExterior (Outside event). Para que funcione, la instancia del objeto debe tener una velocidad porque la dirección en la que reaparece se calcula con la dirección previa que llevaba. Puedes seleccionar si la instancia se teleporta horizontalmente, verticalmente o en ambas direccione. Mover hasta contactar (Move to Contact) Con esta acción mueves la instancia en un dirección dada hasta que toque a otro objeto. Si en la posición actual de la instancia ya hay colisión, no se moverá, en caso contrario, la instancia se para justo antes de que ocurra la colisión. Puedes especificar la dirección y la máxima distancia en la que se moverá. Por ejemplo, cuando está cayendo puedes moverla una distancia máxima hasta que encuentre un objeto. Puedes indicar también si se tienen en cuenta todos los objetos o sólo los sólido. Normalmente esta acción se pone en un evento de colisión para asegurarte que la instancia deja de moverse cuando choca. Rebote (Bounce) Cuando colocas esta acción en el evento colisión de algún objeto, la instancia rebota como lo haría en el mundo real. Si el parámetro presicisión (precise) lo configuras como falso (false) sólo funcionara bien con paredes verticales y horizontales. Si lo configuras a verdadero (true) funcionará en paredes inclinadas o curvas, pero será más lento. Puedes indicar también si el rebote será contra objetos sólido o con todos. El rebote no siempre es del todo preciso porque depende de muchos factores, pero en la mayoría de situaciones es lo suficientemente bueno. Acciones principales, grupo 1 (main1) Objetos (Objects) Crear instancia (Create instance) Con esta acción puedes crear una instancia de un objeto. Debes indicar el objeto a crear y la
  • 28. posición para la nueva instancia. Si marcas la casilla Relative, la posición es relativa a la posición de la instancia actual. La creación de instancias durante el juego es muy útil, por ejemplo una nave puede crear balas, una bomba una explosión, etc. En muchos juegos tendrás un objeto de control que cada cierto tiempo creará enemigos u otros objetos. El evento de creación se ejecuta la crearse la nueva instancia. Crear instancia en movimiento (Create moving) Es la misma acción que la anterior pero con dos campos adicionales. Puedes especificar la velocidad y dirección de la instancia que se creará. Si usas la opciónRelative sólo afectará a la posición y no a la velocidad ni dirección. Por ejemplo, para hacer que una bala se mueva en la misma dirección que el personaje que la crea usa un pequeño truco: activa la opción Relative e introduce la posición 0,0. En el campo de dirección, introduce la palabra direction, que es la dirección en la que se mueve el personaje que dispara la bala. Crear instancia de un objeto aleatorio (Create Random) Te permite crear la instancia de 1 objeto cualquiera de los de un grupo de hasta 4 que hayas elegido. Debes indicar los 4 objetos posibles que se podrán crear y la posición donde se situará la nueva instancia. Si usas Relative, la posición será relativa a la instancia que ejecute la acción. Si no quieres usar 4 objetos, puedes seleccionar No Object para los demás campos. Esta acción se puede usar para crear un enemigo de tipo aleatorio en una posición determinada. Cambiar la instancia (Change instance) Con esta acción puedes cambiar la instancia actual por otro objeto. Por ejemplo, puedes cambiar una instancia de una bomba en una explosión. Todos los parámetros, como el movimiento o los valores de variables, se mantendrán iguales. Puedes indicar si llevar a cabo o no el evento de destrucción para el objeto actual y el evento de creación para el nuevo. Destruir la instancia (Destroy instance) Con esta acción destruyes la instancia actual y se ejecuta su evento destrucción. Destruir instancias alrededor (Destroy at Position) Con esta acción puedes destruir todas las instancias cuya caja límite contiene una posición dada. Esto es útil por ejemplo cuando empleas la explosión de una bomba que destruyes objeto a su
  • 29. alrededor. Cuando marcas la casilla Relative, la posición es relativa a la posición de la instancia actual. Gráficos (Sprites) Cambiar el sprite (Change sprite) Usa esta acción para cambiar el sprite de la instancia, indicando el nuevo sprite o la subimagen que se debe mostrar. Habitualmente usarás 0 para esto (la primera subimagen) salvo que quieras visulizar otra. Usa -1 si no quieres cambiar la subimagen actual. Por último, también puedes cambiar la velocidad de animación de las subimágenes. Si sólo quieres ver una pon 0. Si es mayor que una subimagen se omitirá y si es menor que 1 subimagen se mostrará varias veces. No uses velocidades negativas. Cambiar sprites es una característica importante. Por ejemplo, a menudo querrás cambiar el sprite de un personaje de acuerdo a la dirección a la que se dirige. Lo puedes lograr haciendo diferentes sprites para cada una de las cuatro direcciones y en los eventos del te clado para las teclas del cursor estableces la dirección de movimiento y el sprite. Transformar el sprite (PRO) Usa esta acción para cambiar el tamaño y orientación del sprite de la instancia. Usa los factores de escala para hacer el sprite más grande o pequeño. El ángulo (angle) indica la orientación en sentido anti horario del sprite. Por ejemplo, para hacer que el sprite se oriente en la dirección del movimiento usa el valor direction, que sería muy útil para un coche. También puedes indicar si el sprite se reflejará horizontalmente y/o volteado verticalment. Esta acción sólo está disponible en la versión PRO. Color del sprite (PRO) Normalmente el sprite se dibuja como se ha creado. Usando esta acción puedes cambiarle el color combinándolo con los colores que ya tenía. Si quieres dibujar un sprite en varios colores debes definirlo en blanco y negro y usar un color en esta acción para indicar su nueva apariencia. También puedes indicar una transparencia (alpha): 0 significa totalmente transparente y 1 totalmente opaco. Con un valor intermedio conseguirás que se pueda ver el fondo a través del sprite. Es muy útil para explosiones. Esta acción sólo está disponible en la versión PRO.
  • 30. Sonidos (Sounds) Reproducir un sonido (Play sound) Con esta acción reproduces uno de los recursos de sonido que añadiste al juego. Puedes indicar si suena sólo una vez (por defecto) o de forma continua. Se pueden reproducir varios archivos wave al mismo tiempo, pero sólo un midi a la vez. Por lo tanto, si se inicia el sonido de un midi, el actual se detiene. Detener un sonido (Stop sound) Esta acción detiene el sonido indicado. Si hay varias instancias del sonido reproduciéndose, todas son detenidas. Comprobar un sonido (Check sound) Si el sonido indicado está sonando la acción siguiente se ejecuta y sino, la acción siguiente se ignora. Puedes seleccionar Not para que actúe al revés (es decir, si el sonido no está, la acción se ejecuta). Por ejemplo, puedes comprobar si está sonando la música de fondo y si no, hace s que empiece a sonar otra canción. Esta acción devuelve true cuando el sonido suena por los altavoces. Cuando usas la acción de hacer sonar un sonido tarda un poco hasta que el sonido llega a los altavoces, así que esta acción devolverá falsedurante ese pequeño espacio de tiempo. Cuando detienes un sonido, tampoco se para instantáneamente así que la acción tardará un poco en devolver false. Salas (Rooms) Sala anterior (Previous Room) Ir a la sala anterior indicando el tipo de transición entre las salas, prueba todas las que hay para ver cuál te gusta más. Si estás en la primera sala, se produce un error. Siguiente sala (Next room) Ir a la siguiente sala indicando la transición. Si estás en la última sale un error. Reiniciar la sala (Restar Room) Se reinicia la sala actual. Puedes indicar el efecto de transición. Ir a otra sala (Different room) Con esta acción vas a la sala que quieras indicando su nombre y la transición. Comprobar anterior (Check Previous) Esta acción verifica si existe la sala anterior y, en caso afirmativo, se ejecuta la siguiente acción. Normalmente necesitas hacer esta comprobacion antes de moverte a la sala anterior.
  • 31. Comprobar siguiente (Check Next) Esta acción verifica si existe la siguiente sala y, en caso afirmativo, se e jecuta la siguiente acción. Normalmente necesitas hacer esta comprobacion antes de moverte a la siguiente sala. Acciones principales, grupo 2 (main2) Tiempo (Timing) Establecer alarma (Set alarm) Sirve para configurar uno de los 12 relojes de alarma para la instancia, puedes indicar el número de fotogramas (steps) y la alarma. La instancia recibirá el correspondiente evento alarma después del número de fotogramas indicado. También puedes incrementar o disminuir el valor marcando la casilla Relativo (Relative). Si le das un valor menor o igual a 0 la desactivas. Dormir (Sleep) Puedes congelar la escena durante el tiempo (en milisegundos) que indiques. Se suele usar al principio o al final de un nivel o cuando le das algún mensaje al jugador. También puedes indicar si la pantalla debe ser dibujada primero para reflejar la siruación más reciente. Información (Info) Mostrar mensaje (Display Message) Con esta acción muestras un mensaje en una ventana de diálogo, sólo tienes que escribir el mensajes. Si usas el símbolo # en el texto será interpretado como un carácter de nueva línea (para obtenerlo pon #). Si empiezas con una comilla o dobles comillas se interpretará como una expresión. Mostrar información (Show info) Con esta acción mostrarás la ventana de información el juego. Juego (Game) Reiniciar juego (Restart Game) Con esta acción reiniciarás el juego desde el principio. Finalizar el juego (End Game) Con esta acción termina el juego.
  • 32. Guardar el juego (Save Game) Guardarás el estado actual de la partida en un archivo que posteriormente podrás cargar con la acción Cargar Juego. El archivo se crea en la carpeta raíz del juego. Ten en cuenta que que sólo se guardan los aspectos básicos de la partida, opciones más avanzadas como el sonido que s e está reproduciendo, los contenidos de estructuras de datos, partículas, etc... no se guardarán. Cargar un juego (Load Game) Carga el estado de la partida desde un archivo, aquí indicas el nombre del archivo. Asegúrate que el juego guardado es el mismo y fue creado co la misma versión de Game Maker, sino puede dar errores. Para ser precisos, el juego se carga al final de este paso, por lo que algunas acciones después de esta aún son ejecutadas en el juego actual ¡no el cargado! Acciones de control Hay acciones con las que puedes controlar el funcionamiento de otras. Muchas de estas acciones hacen preguntas, por ejemplo cuando una posición está vacía. Si la respuesta es si (true) se ejecuta la siguiente acción, en caso contrario se omite. Si quieres ejecutar u omitir varias acciones en base a una respuesta puedes ponerlas en un bloque (block) poniendo acciones para comenzar y finalizar el bloque antes y después de ellas. También hay una parte sino (else) que se ejecuta cuando la respuesta es no. Normalmente una pregunta se muestra así: Aquí se pregunta si la instancia está en una posición libre de colisión. Si es así se empieza a mover
  • 33. en una dirección dada, si no, se lleva a la posición que indiques. Fíjate que los bloques están sangrados (desplazados a la derecha), que da una mejor visión de las acciones, sobre todo cuando hay bloques dentro de otros. También es más fácil detectar si te has olvidado una acción de apertura o cierre. Para todas las preguntas hay un campo etiquetado como NO, si la marcas, se invierte el resultado de la pregunta. Esto es, si el resultado es verdadero se convierte en falso y al revés. Esto te permite realizar ciertas acciones cuando la pregunta no es verdadera. En muchas de las preguntas puedes indicar si se van a aplicar a todas las instancias de un objeto. En este caso el resultado es verdadero (true) sólo si es verdadero para todas las instancias del objeto. Por ejemplo, puedes comprobar si para todas las bolas la posición un poco a su derecha está libre de colisión. Este es el listado de acciones disponibles. Tienen formas y colores diferentes al resto para reconocerlas másr fácilmente. Para todas las acciones verdadero=true y falso=false Preguntas (Questions) Verificar vacío (Check Empty) Devuelve verdadero is la instancia actual, situada en la posición indicada, no genera una colisión con un objeto. Puedes indicar la posición como absoluta o relativa y también si sólo se tienen en cuenta los objeto sólidos o todos. Normalmente se usa para verificar si la instancia se puede mover a una posición determinada. Verificar colisión (Check Collision) Esta acción hace lo contrario que la anterior. Devuelve verdadero si hay una colisión cuando la instancia actual se situe en una posición dada. Verificar objeto (Check object) Devuelve verdadero si la instancia situada en una posición dada se encuentra con una instancia del objeto indicado. Comprobar el número de instancias (Test Instance Count) Aquí especificas un objeto y un número. Si el número actual de instancias del objeto es igual al número que escribas devuelve verdadero, sino, devuelve falso. También puedes indicar que la verificación se haga cuando el valor es menor o mayor que el valor dado.
  • 34. Normalmente se usa para comprobar si todas las instancias de un tipo determinado han desaparecido, que suele ser el momento para terminar un nivel o el juego. Comprobar probabilidad (Test Chance) Puedes indicar el número de caras de un dado y luego tirarlo, si la tirada coincide el resultado es verdadero y se realiza la siguiente acción. Se puede usar para poner un elemento de forma aleatoria en tu juego. Por ejemplo puedes generar un tipo particular de bomba o cambiar la dirección. Cuantos más números tenga el dado, menor será la probabilidad de que salga. Puedes emplear números reales, si pones el número de caras en 1.5 la próxima acción se realizará 2 o 3 veces, usar un número menor de 1 no tiene ningún efecto. Verificar pregunta (Check Question) Escribes una pregunta y al jugador se le mostrará un diálogo con los botones Si(Yes) y No (No). El resultado es verdadero si el jugador responde Si. Comprobar expresión (Test Expression) Es la acción de consulta más habitual. Si la expresión se evalúa como verdadera, esto es, un número máyor o igual que 0.5, se realiza la siguiente acción. Más información sobre expresiones. Verificar ratón (Check Mouse) Devuelve verdadero si se pulsa el botón de ratón indicado, un uso habitual es en el evento paso (step event). Puedes verificar si un botón de ratón es pulsado y, en caso de ser cierto, por ejemplo moverlo a esa posición. Para ello usarías la acción Llevar a una posición (Jump to a Position) con los valores mouse_x y mouse_y. Verificar cuadrícula (Check Grid) Devuelve verdadero si la posición de la instancia coincide con la cuadrícula, especificas para ello el espaciado horizontal y vertical. Es muy útil cuando ciertas acciones, como hacer un giro, sólo están permitidas cuando la instancia está en una posición de la cuadrícula. Otras (Others) Comienzo de bloque (Start Block) Indica el comienzo de un bloque de acciones. Fin de bloque (End Block) Indica el final de un bloque de acciones.
  • 35. Sino (Else) Cuando el resultado de la consulta es falso se realizan las acciones que siguen a esta acción. Repetir (Repeat) Esta acción se usa para repetir la siguiente acción o bloque de acciones el número de veces que indiques. Salir del evento (Exit Event) Cuando aparece esta acción no se ejecuta ninguna más en el evento, normalmente se usa después de una pregunta. Por ejemplo, cuando una posición está libre no se necesita hacer nada más, por lo que salimos del evento. En este ejemplo sólo se ejecutan las acciones posteriores cuando hay una colisión. Si deseas un mayor control sobre lo que sucede en el juego puedes usar el lenguaje de programación que se explica en la segunda parte del manual, te da más flexibilidad que usar las acciones. Hay acciones para definir y comprobar variables, son más sencillas de usar que el código y muy útiles para tu juego. Las acciones siguientes se ocupan de esto: Código(Code) Ejecutar código (Execute Code) Cuando se añade esta acción, se muestra un cuadro de diálogo donde puedes escribir un trozo de código que será ejecutado. Puede contener una llamada a una función o algo más compli cado. Usa esta acción sólo para trozos de código pequeños, si son más largos te recomiendo usar scripts como se describe en esta sección del manual. Comentario (Comment) Usa esta acción para añadir una línea de comentario a la lista de acciones, que se mostrará en letra cursiva. Añadir comentarios te ayuda a recordar lo que hace el evento. La acción en si no hace nada, pero recuerda que aún estás en una acción, así que, si la colocas después de una acción condicional se ejecuta si es verdadero (aunque no haga nada). Variables (Variables) Establecer variable (Set variable) Hay muchas variables internas en el juego que puedes cambiar con esta acción. También puedes
  • 36. crear tus propias variables y asignarles valores indicando el nombre y el nuevo valor. Cuando marcas la casilla Relativo, el valor se suma al que actualmente tenga la variable. Fíjate que esto sólo se puede hacer cuando tenga ya un valor asignado. Sigue leyendo para saber más sobre las variables. Comprobar variable (Test Variable) Con esta acción puedes comprobar si el valor de una variable es igual a un número en particular, si es así devuelve verdadero y sino falso. También puedes indicar si la comprobación se hace para valores menores que o mayores que el dado. También se puede usar para comparar dos expresiones. Dibujar variable (Draw variable) Con esta acción puedes dibujar el valor de una variable en un cualquier punto de la pantalla. Sólo se puede usar en el evento dibujar (Draw Event) de un objeto. Acciones de puntuación (score) En la mayoría de juegos el jugador tendrá puntuación, varias vidas o un nivel de energía. Las siguientes acciones sirven para tratar estos elementos. Puntuación (Score) Establecer la puntuación (Set score) La puntuación se suele mostrar en el título de la ventana de juego. Con esta acción puedes cambiarla, sólo tienes que indicar aquí el nuevo valor. Para añadir más puntos a la puntuación actual marca la casilla Relativo (Relative). Comprobar puntuación (Test Score) Con esta acción de consulta puedes comprobar si la puntuación ha alcanzado un determinado valor. Indica el número y si la puntuación debe ser igual, menor que o mayor que ese número (equal to, smaller than, larger than). Dibujar puntuación (Draw Score) Dibujas el valor de la puntuación en la pantalla, escribe la posición y el título que se mostrará antes de la puntuación con el tipo de fuente actual. Sólo se puede usar en el evento draw de algún objeto.
  • 37. Mostrar puntuaciones más altas (Show Highscore) Cada juego guarda las 10 puntuaciones más altas que puedes mostrar con esta acción. Si la actual está entre esas puntuaciones se introduce en la lista y el jugador escribirá su nombre. Puedes indicar la imagen de fondo que se usará, si la ventana tendrá borde o no, el color para la nueva y las otras entradas y la tipografía. Borrar puntuaciones más altas (Clear Highscores) Esta acción vacía la tabla de records. Vidas (Lives) Establecer el número de vidas (Set Lives) Con esta acción puedes cambiar el número de vidas que quedan. Al inicio de juego le das un valor (por ejemplo, 3) y lo aumentas o disminuyes dependiendo de lo que suceda. No olvides marcar la opcion Relativo (Relative) si deseas sumar o restar vidas a las que hay en ese momento. Cuando se llega a 0 o menos se genera un evento "No más vidas" (No more lives). Comprobar vidas (Test Lives) Con esta acción de consulta puedes comprobar si el número de vidas ha alcanzado un determinado valor. Indica el número y si el número de vidas debe ser igual, menor que o mayor que ese número (equal to, smaller than, larger than). Dibujar vidas (Draw Lives) Dibujas el número de vidas en la pantalla, escribe la posición y el título que se mostrará antes del número de vidas con el tipo de fuente actual. Sólo se puede usar en el evento draw de algún objeto. Dibujar imágenes de vida (Draw Life Images) En lugar de mostrar el número de vidas con una cifra es mejor usar pequeñas imágenes, que es lo que hace esta acción. Indica la posición y la imagen que quieres y en ese lugar aparecerán el número indicado de esas imágenes. Sólo se puede usar en el evento draw de algún objeto. Nivel de energía (Health) Establecer la energía (Set Health) Con esta acción puedes cambiar el invel de energía de 0 (vacío) a 100 (completo) indicando el nuevo valor. Algo habitual es disminuir el nivel de energía , para ello deberás marcar la opción Relativo (Relative). Cuando se llega a un número igual o menor que 0 se genera un evento "sin energía" (Out of health). Comprobar energía (Set Health)
  • 38. Con esta acción de consulta puedes comprobar si el nivel de energía ha llegado a un determinado nivel. Indica el valor y si la energía debe ser igual, menor que o mayor que ese número (equal to, smaller than, larger than). Dibujar energía (Draw health) Dibujas el nivel de energía en forma de barra, cuando está en 100 se ve completa y si está en 0 se ve vacía. Puedes indicar la posición,el tamaño, el color de primer plano y el color de fondo. Puntuación en el título de la ventana (Score caption) Normalmente en el título de la ventana de juego se muestra el nombre de la room y la puntuación. Con esta acción puedes indicar si se muestra o no la puntuación, las vidas y/o el nivel de energía y el título para cada uno de ellos. Acciones de dibujo (draw) Normalmente en cada fotograma del juego y para cada instancia, se dibuja su sprite en la sala. Esto puedes cambiarlo poniendo acciones en el evento dibujar (draw event). Sólo se ejecutarán cuando el objeto es visible. Estas son las acciones que están disponibles, sólo tendrán sentido en los eventos de dibujo, si las pones en otros eventos serán ignoradas. Las que están marcadas con un * sólo están disponibles en la versión PRO. Dibujando (Drawing) Dibujar gráfico (Draw sprite) Indicas el sprite, la posición (si es absoluta o relativa a la posición actual de la instancia) y la subimagen del sprite (se numeran de 0 en adelante). Si quieres dibujar la subimagen actual, usa -1. Dibujar fondo (Draw background) Indicas la imagen de fondo, la posición (absoluta o relativa) y si la imagen debe cubrir toda la sala o no. Dibujar texto (Draw text) Especificas el texto y la posición. Un símbolo # es interpretado como salto de línea (Usa # para escribir el símbolo #), de esta forma puedes crear textos de varias líneas.
  • 39. Si el texto comienza con una comilla simple o doble es interpretado como una expresión, por ejemplo usa: 'X: ' + string(x) para mostrar el valor de la coordenada x de la instancia. La variable x almacena la coordenada x actual y la función string() convierte ese número en una cadena de texto. + une los dos textos. Dibuja texto escalado* (Draw Scaled Text)* Similar a la anterior, pero aquí puedes indicar un factor de escalado horizontal y vertical para cambiar el tamaño del texto y un ángulo para rotarlo. Dibujar rectángulo (Draw rectangle) Puedes especificar las coordenadas de dos esquinas opuestas de un rectángulo y también si la posición es absoluta o relativa respecto a la instancia actual. Degradado horizontal* (Horizontal Gradient)* También dibuja un cuadrado pero con un relleno degradado que cambia de izquierda a derecha, especificas los dos colores a usar. Degradado vertical* (Vertical gradient)* Esta vez los colores rellenan el rectángulo de arriba hacia abajo. Dibujar elipse (Draw ellipse) Dibuja una elipse indicando las coordenadas de dos esquinas opuestas del rectángulo que la contiene y si la posición es absoluta o relativa a la instancia actual. Elipse degradada* (Gradient Ellipse)* Lo mismo que la anterior, pero en esta indicas dos colores que la rellenan desde el centro hacia el borde. Dibujar línea (Draw line) Especificas las coordenadas de los dos extremos de la línea, ya sea absoluta o relativa a la posición actual de la instancia. Dibujar flecha (Draw Arrow) Dibuja una flecha. Especificas las coordenadas de los extremos de la línea y el tamaño de la punta de flecha.
  • 40. Preferencias (Settings) Establecer color (Set Color) Te permite establecer el color a usar para dibujar formas, líneas y texto. No influye en los sprites o los fondos. Poner en pantalla completa (Set Full Screen) Con esta acción puedes cambiar entre los modos ventana y pantalla completa y a la invers a. Puedes indicar si se debe cambiar el modo o si ir a modo ventan o pantalla completa. Otras (Others) Captura de pantalla* (Take Snapshot)* Con esta acción puedes hacer una captura de pantalla del juego y guardarla en un archivo de imagen .png. Crear efecto* (Create Effect)* Con esta acción puedes crear todo tipo de efectos de una manera sencilla. Especificas el tipo de efecto, por ejemplo una explosión de humo, su posición, tamaño y color o si debería mostrarse por debajo o encima del objeto. El resto funciona de forma automática. Para la lluvia o la nieve la posición es irrelevante porque siempre cae hacia abajo desde la parte superior de la pantalla. Para conseguir una lluvia continua deberías crearla en cada fotograma (step). Observa que debajo (below) significa una profundidad de 100000 y por encima (above) una de - 100000. Usando expresiones y variables En muchas acciones necesitas introducir valores para los parámetros, que pueden ser un númro o una fórmula, por ejemplo 32+12. Pero también puedes escribirexpresiones más complicadas. Por ejemplo, si quieres duplicar la velocidad horizontal, puedes establecerla con 2*hspeed, donde hspeed es la variable que indica la actual velocidad horizontal de la instancia. Hay muchas variables que puedes usar, algunas de las más importantes son: x la coordenada x de la instancia. y la coordenada y de la instancia. hspeed la velocidad horizontal en pixels por fotograma.
  • 41. vspeed la velocidad vertical en pixeles por fotograma. direction la dirección actual de movimiento en grado (0-360). speed la velocidad actual en esta dirección que se muestra cuando el objeto es visible (1) o invisible (0). image_index esta variable indica que subimagen se muestra en el sprite actual. Si lo cambias y estableces la velocidad a 0 puedes mostrar una subimagen determinada. image_speed esta variable indica la velocidad con la que se muestran las subimágenes, por defecto 1. Si lo aumentas por encima de 1 se saltan algunas subimágenes para hacer la animación más rápida, si lo pones menor que 1 la animación se hace más lenta por repetición de subimágenes. score el valor actual de la puntuación. lives el número actual de vidas. health el nivel de energía (0-100). mouse_x las posición x del ratón. mouse_y las posición y del ratón. Puedes cambiar la mayoría de estas variables usando la acción establecer variable (set variable) y también puedes definir las tuyas propias dándole un valor (no uses la opción Relativo porque aún no existen). Después puedes usar esas variables en expresiones. Las variables que crees son locales para la instancia actual, esto es, cada objeto tiene su propia copia de ellas. Para crear una variable global, pon la palabra global y un punto después de ella. También te puedes referir a los valores de las variables de otros objetos poniendo su nombre seguido de un punto. Por ejemplo, si quieres mover una bola al lugar donde está un moneda puedes establecer la posición a (moneda.x, moneda.y). En el caso de un event de colisión puedes referirte a la coordenada x de otro objeto como otro.x. En expresiones condicionales puedes usar comparaciones como < (menor que), >, etc. En tus expresiones también puedes usar funciones. Por ejemplo, la funciónrandom(10) devuelve un número entero menor de 10, que te podría valer para establecer la velocidad de un objeto de forma aleatoria. Existen muchas más funciones que serán descritas más adelante en este manual. Creando Rooms
  • 42. Ahora que ya tienes objetos con su interactividad en forma de eventos y acciones, es hora de crear las rooms donde se desarrollará el juego en si. Al menos necesitas crear una para situar todos los elementos. Cuando iniciamos el juego se mostrará la primera room y las instancias de objetos con eventos crear cobrarán vida. Cuando creas una room tienes muchas opciones, puedes añadir objetos, fondos, tiles y definir vistas o ciertas propiedades, pero en este capítulo sólo veremos las opciones básicas: añadir instancias de objetos y configurar los fondos. Para crear una room, elige Crear sala (Create Room) en el menú Recursos(Resources), se mostrará la siguiente ventana: En la parte superior hay una barra de herramientas donde puedes indicar el tamaño de las celdas de la cuadrícula que se usa para alinear objetos. También puedes decidir si se muestran las líneas de cuadrícula, los fondos, etc... algunas veces es útil ocultar ciertos elementos. Cuando añades instancias de objetos siempre se mostrarán con independencia de la configuración de vistas. También hay botones para borrar todas las instancias de la room o para moverlas, usando valores negativos hará que se desplacen hacia arriba o a la izquierda. Es útil cuando cuando decides agrandar la room o para situar instancias fuera. Por último están los
  • 43. botones Deshacer (Undo) para dehacer los últimos cambios y el botón OK para guardar los cambios. Si no los quieres guardar, haz clic en la cruz de la esquina superior derecha. En la parte izquierda de la ventana hay tres pestañas, objetos (objects),preferencias (settings) y fondos (backgrounds), que explicaremos a continuación. Objetos. Añadiendo instancias. A la derecha de la ventana puedes ver la room vacía y con fondo gris. Para empezar a añadir instancias de objetos selecciona la pestaña Objetos (Objects): Ahora selecciona el objeto que quieres haciendo clic en el icono de menu o en el área de imagen (en gris) para que aparezca una lista con los objetos disponibles. Fíjate que aparece una cruz en la imagen cargada que indica como se alinearán las instancias con la cuadrícula. Pasa al área grande de la derecha, donde se visualiza la room, y haz clic con el botón izquierdo del ratón para colocar una instancia del objeto seleccionado, puedes borrarla haciendo clic con el botón derecho. Por defecto, las instancias se alinean a la cuadrícula al colocarlas, puedes evitarlo manteniendo pulsada la tecla<Alt>. Si mantienes pulsado el botón mientras mueves el ratón puedes mover la instancias hasta su nueva posición. Si además mantienes pulsada la tecla <Mayúsculas>añadirás varias consecutivas.
  • 44. Al colocar una instancia sobre otra, la primera desaparece. Si quieres evitarlo deshabilita la opción Borrar subyacente (Delete underlying) que aparece abajo. Si quieres cambiar su posición pulsa la tecla <Ctrl> y clic con el botón izquierdo sobre la instancia. No las sueltes y muévela con el ratón a su nuevo emplazamiento. Usa <Alt> para mayor precisión o no usar la cuadrícula. Si mantienes pulsado <Ctrl> y el botón derecho sobre una instancia aparece un submenú. Con él podrás borrar (Delete), especificar un posición más precisa(Change position...), ajustarla a la cuadrícula (Snap to Grid) o moverla al frente(Bring to front) o al hacia atrás (Send to back). Preferencias. Configurando la room. A cada room le puedes especificar unas opciones diferentes. Selecciona la pestañaPreferencias (Settings): Nombre (Name). Elige uno que describa bien el lugar donde está el jugador. Título para la sala (Caption for de room). Se muestra en la ventana al jugar. Ancho x Alto (Widht X Height). Medidas en pixeles de la room. Velocidad (Speed). Número de fotogramas por segundo, a mayor velocidad el movimiento es más suave, pero necesitarás un ordenador más potente para que se ejecute bien. Fondos. Configurando el fondo.
  • 45. En la pestaña Fondos (Backgrounds) puedes establecer los fondos a usar: Arriba puedes ver el color de fondo, haz clic en él para cambiarlo, sólo es útil si no usas una imagen de fondo para cubrir toda la room. Si vas a usar una imagen desmarca l a opción Dibujar color de fondo (Draw background color). Lo siguiente que ves es una lista con 8 fondos que puedes definir, aunque la mayoría de las veces sólo necesitarás uno o dos. Para habilitar un fondo selecciona uno de la lista y marca la casilla Visible cuando comienza la sala (Visible when room starts) o sino no lo verás. El nombre se pondrá en negrita cuando el fondo esté definido. Ahora escoge del menú una de las imágenes que previamente has cargado y ajusta las opciones que quieras. Repetición. Puedes indicar si se repetirá horizonta y/o verticalmente (Tile Hor. / Tile Ver.). Posición. Variando los valores de X e Y. Influirá en el tiling. Estirar (Stretch). Si está marcado el fondo ocupa toda la pantalla. Si no es de su mismo tamaño puede quedar distorsionada. Velocidad. Puedes hacer que se mueva dándole una velocidad horizontal y/o vertical (Hor. Speed / Vert. Speed). No se recomienda si usas la opción Estirar. Imagen de primer plano (Foreground image). Si la activas el fondo se colocará en pri mer plano y
  • 46. se mostrará por delante de todo. Lógicamente una imagen de este tipo deber ser parcialmente transparente para que tega alguna utilidad. Distribuir tu juego Con la información de los capítulos anteriores ya puedes crear tus propios juegos y al acabarlos querrás que otros lo jueguen. Puedes pasarles el .gmk que creaste para dejarles jugar, pero normalmente eso no es lo quieres porque te podrían modificar el juego y necesitarían instalar Game Maker. Por eso, deberías crear un ejecutable que funcione sin necesidad de Game Maker: Crear un ejecutable es muy fácil. En el menú Archivo (File) selecciona el comando Crear ejecutable (Create Executable), ponle un nombre al archivo, pulsa OK y ya tienes listo un archivo .exe que le puedes pasar a quien quieras. Puedes cambiar el icono del ejecutable en las Opciones Generales del juego (Global Game Settings). Puedes distribuir libremente este archivo por cualquier medio o incluso venderlo, esto último asumiendo que todos los recursos (imágenes, sonido, fondos...) son tuyos o pueden ser usado en proyectos comerciales, lee los acuerdos de licencia de cada uno de ellos. Suele ser útil comprimir el ejecutable en un .zip junto con un archivo de información leeme.txt o incluso crear un instalador para tu juego. Hay recursos gratuitos en Internet para realizar estas tareas. Si quieres que muchas personas prueben tu juego, también te recomendamos subirlo al sitio web de YOYO GAMES, en la sección Compartir (Share) o publicarlo como tema en nuestra comunidad de taringa APRENDIENDO GAME MAKER FACILITO subiendo el game a MEDIAFIRE.