[TUTORIAL BASICO EN GAME MAKER 8]
En este tutorial se aprenderá el uso de Game Maker 8 a nivel básico para todos aquellos ...
INDICE
Uso básico
• Introducción
• Instalación
• Componentesde la versiónPro de Game Maker
• Primerospasos
• La interfazde...
Uso Básico
Descripcióndel usobásicode GameMaker,explicalaideageneral del programa:comoañadir
sprites,fondoso sonidos,asícó...
Instalación
Ejecutael programa setup.exe ysigue lasinstruccionesde pantalla.Puedesinstalarlodonde
desees,perote recomiendo...
Componentesde la versiónPro de Game Maker
La versión Proque esgratuitagracias al usuario bra101yan incluye:
Sprites:podrás...
Primerospasos
Crear tu primerjuegosiempreesunreto,perosi ponesunpoco de esfuerzoportu parte,será
bastante másfácil.En una ...
Objetos(objects):sonlasentidadesverdaderasenel juego.
Rooms (salas):loslugaresdonde situamoslosobjetos.
Sprites:imágenesqu...
seleccionandouncomandodel menú,haciendoclicenunbotóno haciendoclicderechosobre un
recurso.
Estas son las funciones que tie...
Tambiénpuedesabrirunjuegoarrastrandoel archivoa la ventanade GameMaker.
Archivos recientes(Recentfiles).Usaeste submenúpar...
Menú recursos(Resources)
Puedescrearnuevosrecursosde cualquierade lostiposdisponibles.Paracadauno de ellos
tambiénhayun bo...
Noticias(News).Consultalasúltimasnoticiassobre el programa.
Libro (Book).Te llevaala webdel librode GameMaker.
Más tutoria...
En la parte superiorizquierdaescribe el nombre del sprite,puestodoslosrecursosdel juego
debenllevaruno.Procuraque seadescr...
parte derechapuedesprevisualizarel sprite animadoyveralgunainformaciónsobre él.Aquí
puedesindicarsi loquiereshaceropaco(se...
Para cargar un sonidopulsael botón Cargar Sonido(Load Sound) yapareceráun cuadro de
diálogoparaseleccionarel archivode son...
el menú Recursos o usael botón correspondientede labarra de herramientas.Se mostrarála
siguiente ventana:
Dale un nombre d...
Fíjate en ladiferenciaentre los spritesylosobjetos.Losspritessonsoloimágenesque notienen
ningúncomportamientoasociado.Loso...
editar.
Debajohaydos opciones:
Visible (Visible).Indicasi lasinstanciasde este objetoseránvisibles.Lomáshabitual es
que lo...
Puedesañadiraccionesparaotro evento,hazclicconel botón izquierdosobre el que quierasy
arrastra nuevasaccionesa la lista.
P...
Aquí seleccionael eventoque vasaañadir,algunasvecesaparece unnuevomenúconopciones
extra.Esta esla descripciónde loseventos...
al comienzode cadapaso,antesde que sucedacualquierotroevento.El normal se ejecutaantes
de que se coloquenlasinstanciasensu...
eventos pressyrelease (pulsarysoltar) se generanunasolavezcuandose pulsao sueltael botón,
respectivamente.
Recuerdaque sól...
Comienzode sala (Room start)
Se generapara todas lasinstanciasde laroom cuandoesta se iniciayantesque los
eventosde creaci...
sólose ejecutacuandoel objetoesvisible.Recuerdaque,independientemente de loque dibujes
aquí, loseventosde colisiónse basan...
(derecha) ala listae acciones(centro).Puedescambiarel ordende estalistaarrastrandosus
elementos.Si mantienespulsadalatecla...
0 significaaladerechay aumentaensentidocontarioalas agujasdel reloj (90º sería haciaarriba).
Si quiereslograrunadireccióna...
Rebote horizontal (Reverse horizontal)
Con estaacciónpuedesinvertirel movimientohorizontalde lainstancia.Porejemplo,cuando...
instanciasse mantienenenlacuadrícula.
Teleportación(Wrap screen)
Con estaacciónpuedeshacerque cuandouna instanciasalgade l...
posiciónparala nuevainstancia.Si marcasla casilla Relative,laposiciónesrelativaala posiciónde
la instanciaactual.
La creac...
alrededor.Cuandomarcaslacasilla Relative,laposiciónesrelativaala posiciónde lainstancia
actual.
Gráficos(Sprites)
Cambiar ...
Sonidos(Sounds)
Reproducir un sonido(Play sound)
Con estaacción reproducesunode losrecursosde sonidoque añadiste al juego....
Comprobar siguiente (CheckNext)
Esta acción verificasi existelasiguiente salay,encasoafirmativo,se ejecutalasiguienteacció...
Guardar el juego(Save Game)
Guardarás el estadoactual de lapartida enun archivoque posteriormente podráscargarcon la
acció...
enuna direccióndada,si no,se llevaala posiciónque indiques.Fíjate que losbloquesestán
sangrados(desplazados aladerecha),qu...
Normalmente se usaparacomprobarsi todaslas instanciasde un tipodeterminadohan
desaparecido,que suele serel momentoparaterm...
Sino (Else)
Cuandoel resultadode laconsultaesfalsose realizanlasaccionesque siguenaestaacción.
Repetir(Repeat)
Esta acción...
crear tus propiasvariablesyasignarlesvaloresindicandoel nombreyel nuevovalor.
Cuandomarcas la casillaRelativo,el valorse s...
Mostrar puntuacionesmás altas (ShowHighscore)
Cada juegoguardalas 10 puntuacionesmásaltasque puedesmostrarconestaacción.Si...
Con estaacciónde consultapuedescomprobarsi el nivel de energíahallegadoaun determinado
nivel.Indicael valorysi la energíad...
Si el textocomienzaconuna comillasimple odoble esinterpretadocomounaexpresión,por
ejemplousa:
'X: ' + string(x)
para mostr...
Preferencias (Settings)
Establecer color (SetColor)
Te permite establecerel colora usar para dibujarformas,líneasytexto.No...
vspeedlavelocidadvertical enpixelesporfotograma.
directionla direcciónactual de movimientoengrado(0-360).
speedlavelocidad...
Ahoraque ya tienesobjetosconsuinteractividadenformade eventosyacciones,eshorade crear
lasrooms donde se desarrollaráel jue...
botones Deshacer(Undo) para dehacerlosúltimoscambiosyel botón OK para guardar los
cambios.Si no losquieresguardar,hazclice...
Al colocar una instanciasobre otra,laprimeradesaparece.Si quieresevitarlodeshabilitala
opción Borrar subyacente (Delete un...
En la pestañaFondos(Backgrounds) puedesestablecerlosfondosausar:
Arribapuedesverel colorde fondo,hazclic enél para cambiar...
se mostrará por delante de todo.Lógicamente unaimagende este tipodeberserparcialmente
transparente paraque tega algunautil...
Próxima SlideShare
Cargando en…5
×

Creandojuegoscongamemaker8

613 visualizaciones

Publicado el

Game maker

Publicado en: Tecnología
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
613
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
2
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Creandojuegoscongamemaker8

  1. 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 les 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. 2. INDICE Uso básico • Introducción • Instalación • Componentesde la versiónPro de Game Maker • Primerospasos • La interfazde usuario • Definiendolossprites • Sonidosy música • Fondos • Definiendoobjetos • Eventos • Acciones • Creando rooms • Distribuir tu juego
  3. 3. Uso Básico Descripcióndel usobásicode GameMaker,explicalaideageneral del programa:comoañadir sprites,fondoso sonidos,asícómodefinirobjetosconeventosyaccionesparaañadirlosalas rooms. Introducción Creando tus propiosvideojuegos Jugar a videojuegosesdivertido,peroaúnloesmás diseñarlostuyospropiosy que otroslos jueguen.Pordesgracia,crear videojuegosnoesfácil.Losjuegoscomercialesde hoyendía se desarrollanende 1 a 3 años con equiposmuyespecializadosde entre 10a 50 personasy presupuestosde millonesde euros. ¿Quiere estodecir que es imposible creartus propios videojuegos? No,con Game Makerpuedescrearlossinnecesidadde aprenderningúnlenguajede programación.Eso sí, no esperesconseguirtupropio Halo 4 o el Virtual Tennisenpocassemanas, aunque tampocoesnecesariatantacomplejidadparaque seandivertidos.Juegos mássimples como el Tetris, Pacman,SpaceInvaders,...sonigualmente divertidosymásfácilesde desarrollar. Game Makerte ofrece una sencilloe intuitivosistemade "arrastrar y soltar" que te permite crear juegosde formarápida.Puedesimportarycrear imágenes,sprites(imágenesanimadas) ysonidos, indicarcómo interactúanentre ellosysituarlosenlasdistintasrooms(salas)donde se desarrollael juego,ytodo estosinnecesidadde programar.Si másadelante quieresmayorcontrol también disponesde unsencillolenguaje de programaciónparacontrolartodosloselementos. Game Makerestápensadopara desarrollarjuegosbidimensionales(2D),asíque si quierescrear mundosen3D este noestu programa. Juegosimportantescomo Ageof Empires,las series Command and Conquer yDiablo usan tecnologíasde sprites2D,aunque parezcan tridimensionalesyel desarrollode este tipode juegosesmásfácil yrápido. Este documentote ayudará a aprenderel usode Game Makery como realizarvideojuegos,pero recuerdaque sóloesuna herramientay hay muchosaspectosa tenerencuenta:historiadel juego,gráficos,sonidos,interacción,...Empiezaconejemplosfáciles,aprende másyprontoserás un expertodesarrollador.Disfrutadel procesocreativo,comparte tusideasybuscarecursosen los forosde las siguienteswebs: http://www.yoyogames.com/make http://www. taringa.net/comunidades/aprendiendogamemaker/
  4. 4. Instalación Ejecutael programa setup.exe ysigue lasinstruccionesde pantalla.Puedesinstalarlodonde desees,perote recomiendodejarlasopcionespredeterminadas.Unavezinstaladoencontrarásun nuevogrupode programas enel menúInicio,desde dondepuedesarrancar Game Makere leerel archivode ayuda. Dentrode la carpeta de instalación(pordefectoC:Archivosde ProgramaAPGMFGame Maker) tenemosvarias carpetasadicionales: Backgrounds: imágenesparalosfondos. Examples:contiene variosjuegosde ejemplo,paraque losrevisesy/o modifiques. extensions:dónde se instalanlasextensionespara ampliarlafuncionalidaddel programa. Por defectoyavienentres,unaparaimprimir(Printing),parahacertransicionesentre las rooms(RoomTransitions) ypara hacerdiálogosde ventanas(WindowsDialogs). lib:contiene variaslibreríasde acciones.Si deseasinstalarlibreríasadicionalesdebes colocarlasdentrode estacarpeta. Sounds: sonidosde ejemplo. Sprites:spritesde ejemploque puedesusarentusjuegos.La instalaciónyaincluye algunos. Tutorials: aquí se guardan lostutorialesque se puedenseguirdentrodel programa,los que aparecenenel lateral derecho.Cadaunose guarda enuna carpeta diferente. Puedesdescargarmásrecursosdesde lawebde Yoyo Gameso de cualquierotraweb. Requisitos Cualquierordenadorconmenosde 5 añosde antigüedaddeberíavaler. OrdenadormodernoconsistemaoperativoWindows. Tarjetagráfica compatible conDirectX8 o posteriorconal menos32 MB de memoria. Resoluciónde pantallaal menosde 800x600 pixelesy65.000 colores(16-bit). Tarjetade sonidocompatibleconDirectX8. Compruebaque tienesinstaladosloscontroladoresmásrecientesde tuequipo. Al diseñaryprobar juegos,los requisitosde memoriasonunpocomás elevados,al menos128 MB. Al jugar,la memorianecesariasuelesermenor,perodepende deltipode juego.
  5. 5. Componentesde la versiónPro de Game Maker La versión Proque esgratuitagracias al usuario bra101yan incluye: Sprites:podrásrotarlos,transformarsucolor o hacerlostranslúcidos. Editorde spritese imágenesconmásopciones. Más acciones:cargar músicadesde unCD, rotar texto,crearformasde colores... Efectosespecialesde sonidoysonidoposicional. Crear pantallas de inicioconpelículas,imágenes,sitiosweb,textos... Sistemade partículaspara crear efectosde fuego,lluvia,explosiones... Funcionesavanzadasde dibujocomopolígonostexturizados. Funcionesparagráficosen3D. Funcionesparacrear juegosmultijugadoro jugarenred. Podrásdefinirtuspropiastransicionesentre rooms. Funcionesparacrear y modificarrecursos(sprites,fondos,...) durante el juego. Funcionesparausar estructuras de datos. Funcionesparaplanificarmovimientos. Posibilidadde incluirmásarchivosentiemporeal durante el juego. La edición Propuede ampliarseconextensiones,que puedensercreadasporcualquieray suelensergratis. Tres de esasextensionesyaestánincluidasyañadentransicionesentre estancias,cuadros de diálogoyserviciosde impresión. Podrásdefinirtuspropioseventostriggers. Herramientasparacrear juegoscolaborativos,pudiendoimportaryexportarrecursos.
  6. 6. Primerospasos Crear tu primerjuegosiempreesunreto,perosi ponesunpoco de esfuerzoportu parte,será bastante másfácil.En una hora podrías tenerlistounjuegosencillo. A pesarde que hacer juegosconGame Maker esmuy sencillo,necesitaráscomprenderlos conceptosbásicosdel programa.Para conseguirlote recomiendoseguirel tutorialque se muestra a la derechaal empezar.Si no loves,vete al menú ayuda (Help) yescoge laopción Tutorial. Conceptosbásicosdel programa Los juegoscreadosconGame Maker se desarrollanenunao más rooms (salas) que esdonde colocaráslos objetos,porejemploparedes,al protagonistaolosenemigos.Algunosde estos objetossonestáticoscomolasparedes,mientrasotros,comoel protagonista,se muevene interactúanconotros objetos reaccionandoalasórdenesdel jugador,que loscontrolamediante el teclado,el ratóno el joystick.Estoselementossonlosmásimportantesdel juego. La mayoríade losobjetosnecesitanalgunaimagenparahacerse visiblesenpantalla.Estas imágenesse llamanspritesypuedenserestáticos(unaimagen) oanimados(variasimágenes simulandomovimiento).De estaformaparece que el personaje camina,que unapelotarueda, etc.Durante el juegoel sprite de unobjetopuede cambiar,porejemploel personaje se ve diferente cuandocaminaaizquierdaoaderecha.Puedescreary editarspritesenel propio programa o importarlosde otros,comoGIFs animados. Los objetosreaccionanalosdiferentestiposde eventosque hayyejecutan lasaccionesque estén asociadasa losmismos.Estoseventoslessucedena lasinstancias de losobjetos,que son su representación enpantalla.Porejemplo,sólotienes1objetoenemigo,peropuedescolocarel númerode instanciasdel objetoenemigoque desees.Al crearlainstancia se ejecutanlasacciones asociadasal eventoCrear,cuandochoca contra otra instanciade objetosucede el eventoColisión, etc.Más adelante loveremosendetalle. Las rooms puedenserempleadascomonivelesdel juegoopara mostrardiferenteslugaresy tienenaccionespropiasque permitenpasarde unasa otras.Lo más básicoes ponerle unfondo que puede seruncolor o una imagen.Encada room colocasel númerode instanciasque quieras de losobjetosdefinidos.Porejemploenlaroom A puedescolocar4 instanciasdel objetoenemigo y enla room B puedescolocar6. Ya puedesprobarel juego.Se mostrarála primeraroomy losobjetoscobraránvidadebidoa las accionesde suseventosde creación,interactuaránunosconotrospor las accionesasignadasa sus eventosde colisiónyreaccionarána loque haga el jugadorporque tienenaccionesensuseventos de tecladoo ratón. En resumen,lossiguientes recursostienenunpapel fundamental enel proyecto:
  7. 7. Objetos(objects):sonlasentidadesverdaderasenel juego. Rooms (salas):loslugaresdonde situamoslosobjetos. Sprites:imágenesque se empleanpararepresentaralosobjetos. Sonidos(sounds):comomúsicade fondoo efectossonoros. Fondos(backgrounds):lasimágenesde fondoparalasrooms. Hay más recursosque se usan para juegosmáscomplicadoscomoloscaminos(paths),guiones (scripts),tipografías(fonts) olíneasde tiempo(time lines). La interfazdel usuario Al iniciarel GameMakerse muestralasiguiente ventana,juntoconel primer tutorial aladerecha: A la izquierdapuedesverunlistadoconlos recursos:sprites,sonidos(sounds),fondos (backgrounds),scripts,objetos(objects),salas(rooms)ydosmás: Informacióndel juego(Game Information) yOpcionesdeljuego(Game Options). En la parte superiorestánel menúy labarra de herramientas.En este capítuloexplicaremos brevementelasopcionesdelmenú,losbotones,etc.Másadelante ampliaremosinformación sobre algunosde ellos.Recuerdaque muchascosasse puedenlograrde diferentesmaneras:
  8. 8. seleccionandouncomandodel menú,haciendoclicenunbotóno haciendoclicderechosobre 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 scriptGML 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 scriptGML (AYUDA EN SCRIPT) Menú archivo(file) Los comandohabitualesparaabriry guardar archivos.Los comandocon * tienenunbotónenla barra de herramientas. Nuevo(New)*.Para empezaracrear un juegonuevo.Si el juegoactual tiene modificacionesse te preguntasi quieresguardarlo. Abrir (Open)*.Abre unarchivode juego.Losarchivosde Game Makertienenla extensión .gmk.Tambiénpuedesabrirarchivos antiguosconextensión.gm6.ysi quieres abrir archivos.gmdcreadoscon la versión5tienesque seleccionarel tipode archivo adecuadoenla parte de abajodel cuadrode diálogo.Estosúltimospodríannofuncionar correctamente enlanuevaversión.
  9. 9. Tambiénpuedesabrirunjuegoarrastrandoel archivoa la ventanade GameMaker. Archivos recientes(Recentfiles).Usaeste submenúparavolveraabrirlosarchivos usadosrecientemente. Guardar (Save)*.Guardael archivodel juegoconel nombre actual,sino lo tiene aúnte aparece una ventanapara dárselo.Este comandosóloestádisponiblecuandoel proyecto ha cambiado. Guardar como (Save as). Guarda el juegoconotro nombre.Se te pide unnuevonombre. Crear ejecutable (Create executable).Mediante estecomandopuedescrearunaversión ejecutable de tujuegoque funcionasinnecesidadde tenerinstalado GameMaker.Con este archivopuedesdistribuirtujuegoa quienquieras. Modo avanzado (Advancedmode).Al hacer clicen este comandose cambiaráentre los modossimple yavanzado.Enel avanzadotienesdisponiblesmáscomandosyrecursos. Salir (Exit).Para salirdel programa.Si hiciste cambiosenel juegoactual se te preguntarási quieresguardarlo. Menú Editar(Edit) Contiene comandosrelacionadoscon el recurso(objeto,sonido,etc.) ogrupode recursos seleccionado.Dependiendodel tipoalgunoscomandospuedennoestardisponibles. Insertar recurso (Insertresource).Insertaunanuevainstanciadel tipode recurso actualmente seleccionadoantesdel mismo.Si seleccionaste ungrupode recursoses agregadoal grupo.Se abrirá un cuadro de diálogoenel que puedescambiarlas propiedades. Duplicar (Duplicate).Creay agrega unacopia del recursoactual.Se abre unaventanaenla que puedesmodificarlo. Borrar (Delete).Borrael recursoo grupo de recursosseleccionado.Este comandono puede deshacerse,porloque verásunaadvertenciaparaconfirmarsu eliminación. Renombrar (Rename).Dale unnuevonombre al recurso.Tambiénlopuedeshacerensu ventanade propiedades. Propiedades(Properties).Usaeste comandoparamostrar la ventanade ediciónde propiedadesque se mostraráenlaventanaprincipal.Puedeseditarvariasal mismo tiempo.Tambiénpuedesaccederalaspropiedadeshaciendodoble clicenel recurso. Estos comandostambiénpuedesaplicarlosde otraforma.Haz clic derechoenunrecursoo grupo de recursos,y apareceráel menúapropiado.
  10. 10. Menú recursos(Resources) Puedescrearnuevosrecursosde cualquierade lostiposdisponibles.Paracadauno de ellos tambiénhayun botónenla barra de herramientasyunacceso directodesde el teclado.También puedescambiarlainformacióndel juegoylaspreferenciasgenerales.. Menú Ejecutar(Run) Se usa para ejecutarel juegode lassiguientesmaneras: Normal (Run normally).Ejecutael juegoenmodonormal y de la maneramás eficiente posible comosi fueraunejecutable. Depuración de errores (Run inDebug mode).Ejecutael juegoenmodo depuración. En este modopuedesrevisarel juego,pausarlooavanzar pasoa paso.Muy útil para detectar y solucionarerrores. Una vez que tujuegoesté listo,puedescrearunejecutable del juegousandolaaccióndel menú archivo. Menú Ventana(Window) Comandospara manejarlaspropiedadesde lasventanasde laventanaprincipal. Cascada (Cascade).Colocatodaslasventanasencascada de formaque cada una sea parcialmente visible. Reordenar iconos(Arrange Icons).Ordenatodas lasventanas.Útil al cambiar de tamaño la ventanaprincipal. Cerrar todo (Close All).Cierratodaslasventanasde propiedades,preguntandosi se desea guardar o no loscambiosrealizados. Menú Ayuda(Help) Comandosde ayuda: Contenidos(Contents).Laayudaen formatoCHM. Tutoriales(Tutoriales).Usa este submenú paraverlostutorialesque te enseñaránacrear tus primerosjuegos. Actualizarse a la versiónPro (Upgrade to Pro Edition).Para poderusartodas lasfunciones del programa. Introducir código de activación (Enter Activation Code).Si ya hascomprado Game Maker antes,usaeste comandopara introducirtu código.Te llevaráa unapáginawebpara hacerloefectivo.
  11. 11. Noticias(News).Consultalasúltimasnoticiassobre el programa. Libro (Book).Te llevaala webdel librode GameMaker. Más tutoriales(More tutorials).Te conecta a una webpara que te descarguesmás tutoriales. SitioWeb(Web).Te llevaala weboficial del programa,donde podrásencontrarjuegosy más recursos. Foro (Forum).Te conectaal forooficial,donde puedesencontrarayudayrecursos. Wiki (Wiki).Te conectacon lawiki de Game Maker donde encontrarásinformaciónde utilidadordenadaportemas. About Game Maker. Breve informaciónsobre el programa. El exploradorde recursos En la parte izquierdade lapantallaverásel exploradorde recursos,conuna listadesplegable con todoslosrecursosde tu juego.Si unelementotiene unsigno +a su ladopuedeshacerclicpara verlostodosylospuede ocultarclicandoenel signo -. Seleccionayhazclic sobre unrecursopara cambiarle el nombre. Doble clicsobre él para editarsu propiedades. Usa el botónderechoparaaccedera loscomandosdel menúEditar. Puedescambiarel ordende lalistahaciendoclicenunrecurso y manteniendopulsadoel botón del ratón.Arrástraloal lugarque quierasdentrodel mismotipo. Definiendolossprites Los spritesson lasrepresentacionesvisualesde todoslosobjetosenel juego.Unsprite puede ser una imagensimple ounjuegode variasimágenesque,reproducidasunatrasotra, crean unefecto de movimiento(animación).Porejemplo,lassiguientesimágenesformanunsprite paraun personaje moviéndose hacialaderecha. Al empezara crear tu juegodebesdibujarobuscar lostodoslosspritespara losobjetosque vasa usar. Conel programa vienenincluidosunoscuantos(carpetaSprites),pero puedesdescargarte más de la webde Game Maker o de otros sitiosenInternet.Suelenestarenformato.pngo.gif (estáticosoanimados). Para crear un sprite seleccionael comando CrearSprite (Create Sprite) del menú de Recursos (Resources) ousael botóncorrespondiente enlabarrade menús(Pacmanrojo),se verála siguiente ventana:
  12. 12. En la parte superiorizquierdaescribe el nombre del sprite,puestodoslosrecursosdel juego debenllevaruno.Procuraque seadescriptivo,fácil de recordaryque no se repita.Se recomienda sólousar letras,númerosyel guiónbajo(_) enlos nombresde losrecursos(sprites,objetos, sonidos...) yempezarel nombre conunaletra.Evitausar espaciosenblanco,puesdarían problemasencasode usar código. Haz clic en el botónCargar Sprite (LoadSprite) paraabrir el siguientecuadrode diálogo: En la parte izquierdahayunselectorde archivosdonde puede elegirlaimagenque quieresyenla
  13. 13. parte derechapuedesprevisualizarel sprite animadoyveralgunainformaciónsobre él.Aquí puedesindicarsi loquiereshaceropaco(se borraránlas partestransparentes),borrarel fondo haciéndolotransparente (pordefecto) ysi quieressuavizarlosbordes,loque puedemejorarsu apariencia.PulsaAbrir(Open)cuandoestés satisfechoconel resultado. Game Makerpuede abrirdiferentestiposde imágenes.Al cargarun .gif animado,todas lassubimágenesformarla imagendel sprite.Cuandoel nombre delarchivoacabacon _stripXX, con XX comoun número,se consideraque contieneunatirade subimágenesunajuntaala otra (nopara .gifs).Porejemplo,conel nombre bola_strip4.pngse asume que hay4subimágenes. Una vez que se carga el sprite,se mostrarálaprimerasubimagenala derechaysi hayvarias puedesverlasunaauna usandolosbotonesconlas flechas. Con el botón Editar Sprites(EditSprite) puedeseditarel sprite oinclusocrearunonuevo.Game Maker trae integradouneditorde imágenesysprites.Paramásinformaciónve alas secciones Editandotus spritesy Editando subimágenesindividualmente. Sonidosy música La mayoríade juegostienenefectosde sonidoymúsicade fondopara hacerlomásatractivos. Puedesencontrarejemplosde sonidosenlacarpetaSoundsenel directoriode instalacióndel programa o descargarlosdesde lawebde GameMakeru otrossitiosenInternet. Para añadirun recursode sonidoal juego,usael comando Crear Sonido(Create Sound) del menúRecursos (Resources) ousael botóndel altavozenlabarra de herramientas.Se mostrarála siguiente ventana:
  14. 14. Para cargar un sonidopulsael botón Cargar Sonido(Load Sound) yapareceráun cuadro de diálogoparaseleccionarel archivode sonidoque te interese.Haydostiposde archivosadmitidos: wave(*.wav).Paraefectoscortosde sonido,usanmuchamemoriaperose reproducenal momento. midi (*.midi).Necesitanmuchamenosmemoriaparaserreproducidos,perosólose puedeusar unoa la vezy para músicade fondo. Una vez que hascargado el archivode músicapuedesescucharlousandoel botónReproducir (Play).Tambiénhayunbotón Guardar Sonido(Save Sound) paraguardar el sonidoactual a un archivo,que seráde utilidadencasode perderel original. Fondos El tercertipode recurso básicosonlos fondos,que normalmentesonimágenesgrandes usadas como fondode lasrooms enlasque se desarrollael juego.A menudoestánhechascontiles (mosaicos) de maneraque puedesrellenarel espacioconunmotivoysinseparacionesvisuales entre losbloques.Puedesencontrarejemplosenlacarpeta Backgrounds dentrodel directoriode instalacióndel programao descargarlas de la webde GameMaker u otraspor Internet. Para añadirun recursode fondoa tu juego,usael comando Crear Fondo(Create Background) en
  15. 15. el menú Recursos o usael botón correspondientede labarra de herramientas.Se mostrarála siguiente ventana: Dale un nombre descriptivoarribaa laizquierda. Pulsael botón Cargar Fondo(Load Background) para seleccionarel archivoque te interese.A la derechadel selectorde archivospuedes indicarsi quieresque el fondoseaopaco(se borraránlas partestransparentes),que se borre el fondoose haga transparente (pordefectono) ysi se suavizanlosbordes,loque mejorarásuaspectocuandoes parcialmente transparente.Cuando estéssatisfechoconel resultadopulsa Abrir(Open) ycarga el archivo.¡Losfondosno puedenser animados! Puedescambiarel fondoocrear unonuevousandoel botón Editar Fondo (EditBackground) que abrirá uneditorde imágenes.Parasaber cómousarlopuedesira la sección Editando subimágenes(Editingimages). Tencuidadoal usar imágenes muygrandes,algunastarjetasgráficasantiguasnoadmitenque seanmayoresque lapantalla,así que procura que seanmenoresde 1024x1024 pixeles. DefiniendoObjetos Ya hemosañadidoimágenesysonidosal juego,peroningunode ellosrealizaningunaacción,no interactúanconnada. Es hora de hablar del recursomásimportante dentrode GameMaker: losobjetos. Los objetosson lasentidadesque hacenlascosasenel juego,casi siempre tienenunsprite como representacióngráficaparaque puedasverlos.Tienenuncomportamientoporque pueden reaccionara ciertoseventos.Todaslascosasque vesen el juego(exceptoel fondo) sonobjetos, concretamente,son instanciasde objetos.Tambiénloshayinvisibles,que novesperocontrolan ciertosaspectosde lapartida.
  16. 16. Fíjate en ladiferenciaentre los spritesylosobjetos.Losspritessonsoloimágenesque notienen ningúncomportamientoasociado.Losobjetosnormalmenteestánrepresentadosporunsprite, perotambiéntienenuncomportamientoparainteractuar.¡Sinobjetosnohayjuego! Tambiénfíjate enladiferenciaentre los objetosylasinstancias.Un objetodescribe ciertaentidad, por ejemplounenemigo.Peroenel escenariospuedesponerel númerode instanciasdel objeto que deseesytodasserániguales.Si modificasel objetooriginal,todassusinstanciascambiarán. Para añadirun objetoal juego,seleccionael comando CrearObjeto(Create Object) del menúRecursos (Resources).Aparecerálasiguienteventana: A la izquierdase muestralainformacióngeneraldel objeto,enel mediohayvarioseventosque le puedensucederyala derechalasaccionesasociadascon dichoseventos.De loseventosylas accioneshablaremos enlospróximoscapítulos. Comosiempre,debesdarleunnombre descriptivoal objeto.Después,elijeunode losspritesya creadospara que sea su representaciónvisual.Parahacerlo,hazcliccon el botónizquierdodel ratón enla caja de Sprite o enel botóna suderechapara mostrar todoslosdisponibles.Selecciona el que quieras. Si todavía no tienesningunopuedesdarle a Nuevo(New) paraañadirunoy luegolopuedes cambiar.También,cuandoseleccionesunrecurso,verásunbotón Editar (Edit) para editarsus propiedades.Estoesmásrápidoque buscarloenlalistade recursose indicarque loquieres
  17. 17. editar. Debajohaydos opciones: Visible (Visible).Indicasi lasinstanciasde este objetoseránvisibles.Lomáshabitual es que losobjetosse puedanverperoenalgunasocasionesesútil teneralgunosinvisibles, por ejemplocomoguíasde movimientoparaunenemigo.Estosobjetosinvisibles reaccionana eventosyotras instanciaspuedencolisionarconellos. Sólido(Solid).Indicasi se trata de un objetomacizo(comounapared).Las colisionescon sólidossontratadasde forma diferenteque losno-sólidos.Se recomiendausaresta opciónsólopara objetosque nose mueven. Eventos Game Makeremplealoque se conoce comoprogramaciónorientadaa eventos.Estoes,entodo tipode situacioneslasinstanciasde losobjetosrecibeneventosreaccionandoaellosejecutando algunaacción.A cada uno de losobjetosdebesindicarle aque eventosresponderáylasacciones asociadasa ellos.Aunque puedasonarcomplicado,verásque enrealidadesmuysencilloylo podráshacer con botonesde arrastrar y soltar. En el mediode laventanade propiedades de objetohayunalistade eventosaloscualesdicho objetopuede reaccionar,al principioestávacía.Pulsael botónAñadir Evento (AddEvent), apareceráun pequeñomenúcontodoslostiposde eventosdisponiblesparaagregardesde aquí losque te interesen.Enocasionesse mostraráunsubmenúconopcionesextra.Porejemploenel eventode tecladoapareceráunalistacontodas lasteclasdisponibles. Al final de estapáginaencontrarásuna descripcióndetalladade todosloseventos. Seleccionauneventode lalista,que seráel que modificaremosyapareceráenel listadode eventosde laspropiedadesdel objeto. A laderechade todo,agrupadasenvariaspestañas,están todaslas accionesrepresentadasporiconosque reaccionanaloseventos,que veremosmás adelante endetalle. Entre loseventosylasaccionesse encuentralalistaconlas accionespara el evento actual.Para agregar unaacción a la listaarrástreladesde laderechahastaaquí y se situaránunadebajode otra con una breve descripción.Paracada una de lasaccionesse te pediránalgunosparámetros que veremosmásadelante. Después de añadiralgunas,tendríasalgoasí:
  18. 18. Puedesañadiraccionesparaotro evento,hazclicconel botón izquierdosobre el que quierasy arrastra nuevasaccionesa la lista. Puedescambiarel ordende lasaccionesde lalistaarrastrando losiconos.Si mantienespulsadala tecla<Alt> mientrasarrastras,harás una copiade la acción.Inclusopuedesarrastraaccionesentre listasde diferentesobjetos. Con el botónderechodel ratónse mostrará unsubmenúdesde el que borrar,copiaro pegar acciones.Puedesseleccionarvariasaccionesparacortar, copiaro borrar pulsandola tecla<Shift>o <Ctrl>. Presionandolasteclas <Shift><A>seleccionastodas.Si mantienesel cursor del ratón sobre unaacción se muestrauna descripciónmásdetalladade lamisma... Para borrar el eventoseleccionadoytodassusaccionespulsael botón Borrar (Delete).Los eventossinaccionessoneliminadosautomáticamentecuandocierraslaventanasinnecesidadde que hagas nada. Si deseasasignarlasaccionesa un eventodiferente(cambiode tecla, porejemplo)pulsael botónCambiar (Change) yseleccionael nuevoevento,que nodebe habersidoempleadoantes. Usando el submenú que aparece conel botónderechodel ratónenla listade eventopuedes duplicarlo,estoes,agregarunnuevoeventoconlas mismasacciones. Tal como se indicóantes,paraañadir uneventopulsael botón AñadirEvento (AddEvent) yse mostrará lasiguiente ventana:
  19. 19. Aquí seleccionael eventoque vasaañadir,algunasvecesaparece unnuevomenúconopciones extra.Esta esla descripciónde loseventosdisponibles,perorecuerdaque normalmente sólo usarás algunosde ellos,en función de lasnecesidadesdelobjetodentrode tujuego: Evento crear (Create event) Sucede cuandose crea una instanciadel objeto.Normalmente se usaparaestablecerel movimientode lainstanciay/oestableceralgunasde susvariables. Evento Destruir (Destroyevent) Ocurre cuando la instanciaesdestruida,exactamente justoantesde que seadestruida.Esto quiere decirque lainstanciaaúnexiste cuandoel eventoesejecutado.Habitualmente nose usa, peropuedesemplearlo,porejemplo,paracambiarel marcador o crear algúnotro objeto. Eventos alarma (AlarmEvent) Cada instanciatiene 12relojesde alarma.Puedesconfigurarlosusandociertas acciones(verel siguiente capítulo).El reloj de laalarmahace unacuenta regresivahastaque llegaa0, que es cuandose generael evento.Paraindicarlasaccionesparaun reloj de alarma,primeronecesitas seleccionarloenel menú. Los relojesde alarmasonmuy útiles,puedesusarlosparahacerque ciertascosas se repitanunay otra vez.Por ejemplo,unenemigopodríacambiarde direccióncada20 pasos,encuyo caso unade lasaccionesenel eventodebe configurarnuevamente laalarma. Eventos paso (Stepevents) El eventostepsucede acada paso/frame del juego.Puedescolocaraccionesque requieren ejecutarse continuamente.Porejemplo,si unobjetodebe seguiraotro,puedesadaptarla direcciónde movimientohaciael objetoque se estásiguiendo. Hayque tenercuidadoconel uso de este eventoparaevitarralentizarel juego,nocoloquesaccionesmuycomplicadasenobjetos con muchasinstancias. Hay tres tiposdiferentesdeleventostep,normalmente sólonecesitaráslaque viene pordefecto perousandoel submenúpuedesseleccionarel iniciooel final del eventostep.El iniciose ejecuta
  20. 20. al comienzode cadapaso,antesde que sucedacualquierotroevento.El normal se ejecutaantes de que se coloquenlasinstanciasensusnuevasposicionesyel final justoantesde que se dibuje la escena. Uno de sususosútilesescambiarel sprite dependiendode ladirecciónactual. Eventos de colisión(Collisionevents) En el momentoenque dosinstanciascolisionanocurre uneventode colisión,parasermás precisos,ocurrendos,unopor cada instancia.Debesseleccionarenel menúel objetoconel que choca y después colocarlasaccionesasociadasa él. Si no hay accionesasociadasa este eventonosucede nada,lainstanciaactual seguirámoviéndose aun cuandoel otro objetoseasólido.Dependiendosi chocacon un objetosólidouotronosólido la reaccióna las accionesesdiferente: - El otroobjetoessólido.Lainstanciavuelve al lugaranteriorala colisiónyentoncesse ejecutael evento.Porejemplo,si laacciónasociadaal eventoinvierte ladirecciónde movimiento,la instanciarebotaenla paredsindetenerse.Si hayunanuevacolisiónse mantieneensulugar previaydejade moverse. - El otroobjetonoes sólido.Lainstancianorebota,el eventose ejecutaenlaposiciónactual.Al no sersólido,lopodemosatravesaropasarsobre él y el eventonosnotificaloque está sucediendo. Existenmuchosusosparaeste evento,pararebotarcontra las paredes,destruiralgúnobjeto cuandoes alcanzadopor unabala,etc. Eventos de teclado (Keyboardevents) Cuandoel jugadorpulsauna teclassucede uneventode tecladoparatodaslas instanciasde todos losobjetos.Se puede definiruneventoporcadatecla,seleccionándolaenel submenúy asignándole lasaccionesque quieras.Lógicamente noes necesario asignartodaslasteclas,sólo usarás lasque necesitesparacada unode los objetosdel juego. El eventosigue activomientraslateclasigapulsada.Dentrode estoseventos,haydosespeciales, unoes el <No Key>(Ningunatecla) que sucedeencadapaso cuandono haynada pulsadoy el otro es<Any Key>(Cualquiertecla) que sucede al presionarcualquiera.Si el jugadorpulsavarias sucedenloseventosde todasellas. Las teclasdel tecladonumérico sólofuncionancuandoestáactivada <BloqNum>. Eventos de ratón (Mouse Events) Sucedencuandoel cursorse encuentrasobre el sprite que representalainstanciadel objeto. Existenloseventos nobutton,leftbutton,rightbuttonomiddle button (ningún botón,izquierdo, derechoocentral) que se generanmientrasse mantengapresionadocualquierade ellos.Los
  21. 21. eventos pressyrelease (pulsarysoltar) se generanunasolavezcuandose pulsao sueltael botón, respectivamente. Recuerdaque sólosucedencuandoel ratónestásobre la instancia,si se pulsaunbotónen algún lugarsin objetosnoocurriránada,salvoque usesloseventosglobalesdel submenú que reaccionarána cualquierclicencualquiersitio. Tambiénhaydos eventosespecialesque se suelenusarparacambiar el sprite oactivar algún sonido,el mouse Enterymouse leave (entrarysalir),el primerosucede cuandoel ratónse pone encimade la instanciayel segundocuandolaabandona.Los denominados mousewheel up y mouse wheel Down(ruedaarribaoabajo) se activanal moverla ruedadel ratón. Por últimohayunaserie de eventosparajoysticks,donde indicasaccionesparalas4 direcciones principales(endiagonal se ejecutaríanamboseventos) ypara8 botones.Puedesprogramarlopara dos joysticks. Otros eventos(Otherevents) Hay otros eventosque puedenserútilesenciertosjuegosylospuedesencontrareneste submenú: Fuera de la sala (Outside room) Ocurre cuando la instanciase encuentracompletamente fuerade laroom.Suele serun buenmomentoparadestruirla. Cruzando el límite (Intersectboundary) Ocurre cuando la instanciallegaal borde del cuarto. Vistas (View) Son útilescuandousasvistasentusrooms,compruebancuandodesaparece lainstancia de una determinadavistaollegaal borde de lavista. Comienzode juego(Game start) Se generapara todas lasinstanciasenlaprimeraroom donde se iniciael juego.Sucede antesque el eventoroomstart (verabajo) yque loseventoscreate de lasinstanciasenel cuarto. Se suele definirnormalmenteenunsoloobjeto"controlador"yse usapara reproducir algunamúsicade fondo,asignarvaloresinicialesaalgunasvariablesoparacargar datos. Fin de juego(Game end) Sucede paratodas lasinstanciascuandoterminael juego.Comoel anterior,lonormal es que lodefinaunsóloobjeto.Se puede emplearparaguardarla informacióndel juegoen un archivo.
  22. 22. Comienzode sala (Room start) Se generapara todas lasinstanciasde laroom cuandoesta se iniciayantesque los eventosde creación. Fin de sala (Room end) Se generapara todas lasinstanciasexistentescuandofinalizalaroomactual. Sin vidas (Nomore lives) Game Makertiene unsistemade vidasinternoyunaacciónpara especificarycambiarsu número.En el momentoque seamenoro igual a 0, se generaeste evento.Normalmente se empleaparaterminaro reiniciarel juego. Sin energía(Nomore health) Game Makertiene unsistemainternode energíayuna acciónpara especificarycambiar el nivel de energía.Enel momentoque la energíaseamenoro igual a 0, ocurre este evento.Normalmentese empleaparadisminuirel númerode vidasopara reiniciarel juego. Fin de la animación (End of animation) Comose indicóantes,unaanimaciónconsiste envariasimágenesque se muestrande formaconsecutivayal llegara laúltimase vuelve alaprimera.Este eventosucede enese precisomomento.Se puede usarpara,porejemplo,cambiarlaanimaciónodestruirla instancia. Finde trayectoria (End of path) Este eventoocurre cuandola instanciaque sigue unatrayectoria(path) llegaal final de la misma. Botón cerrar (Close button) Sucede cuandoel jugadorhace clic enel botóncerrar de lamismaventana.Sólofunciona cuando,enlas preferenciasdel juego,estádesmarcadalaopciónque el botóncerrarse comporte comola teclas <Esc>. Definidopor el usuario (Userdefined) Hay 16 de estoseventos.Normalmentenuncasucedenamenosque túmismolosllames desde uncódigopropio. Evento Dibujando (Drawingevent) Las instancias,cuandosonvisibles,dibujansusprite enlapantallaencada paso.Cuandoindicas accionesenel eventode dibujo,nose dibujael sprite,sinoque se ejecutanesasaccionesensu lugar. Esto se puede usarpara dibujaralgomás que un sprite,opara cambiar losparámetrosdel sprite. Hay variasaccionesde dibujoespecialmente diseñadasparaserusadasen el eventodrawing,que
  23. 23. sólose ejecutacuandoel objetoesvisible.Recuerdaque,independientemente de loque dibujes aquí, loseventosde colisiónse basanenel sprite que estáasociadoa lainstancia. Eventos Pulsar Tecla (Keypressevents) Similaral eventoteclado(keyboard)peroéste sóloocurre unavezcuandose presionalateclay no de forma continua.Útil cuandoquieresque laacciónsóloocurra una vez(sóloundisparo,por ejemplo). Eventos Soltar Tecla (Keyrelease events) Similaral eventoteclado(keyboard),peroéste sóloocurre unavezcuandose sueltalateclay no de forma continua. En algunassituacionesesimportanteconocerel ordenenel cual el GameMakerprocesalos eventos.Seríael siguiente orden: EventosBeginStep EventosAlarm EventosKeyboard,Keypress,yKeyrelease EventosMouse EventosStepnormales(ahoratodaslasinstanciasse colocanensusnuevasposiciones) EventosCollision EventosEndStep EventosDraw Los eventosde creación(create),destruir(destroy)yotrossongeneradosenel momento pertinente. Acciones Las acciones indicanloque sucede enunjuegocreadocon Game Makery se colocanen los eventosde losobjetos.Cuandoocurre unode estoseventos(porejemplo,cear),lasacciones asociadasrepercutenenlasinstanciasde losobjetosrealizandoalgúncomportamiento(por ejemplo, moverse).Haymuchasaccionesdisponiblesyesimportante entenderloque hace cada una,aquí describiremoslasque se puedenusarenmodo simple. A la derechade laventanade propiedadesdel objeto,estánagrupadastodaslasaccionesen seis grupos de pestañas.Puedesvercadagrupo de accioneshaciendoclicenlapestaña correspondiente yunabreve descripciónde cadaunamantiendoel ratónsobre ellas. Recuerda: para colocar unaacción enun eventosólotienesque arrastrarladesde suposición
  24. 24. (derecha) ala listae acciones(centro).Puedescambiarel ordende estalistaarrastrandosus elementos.Si mantienespulsadalatecla <Alt>mientrasarrastrashacesuna copia y puedes arrastrar ycopiar accionesentre listasde diferentesobjetos.Usael botónderechodel ratónpara borrar, copiaro pegar. Cuandocolocasuna acción suele aparecer uncuadrode diálogodonde le puedesespecificar algunos parámetros,hay dos enconcretobastante habituales. En la parte superiorpuedesindicara que instancia se le va a aplicarla acción,que por defectoes self,lamismainstanciaenlaque estástrabajando.Habitualmente noesnecesariocambiarlo.Enel caso de un eventocolisión,puedesindicarsi se aplicalaacción a la otra instanciainvolucrada, pudiendode estaforma,porejemplo,destruirla.Porúltimo,puedeselegirsi aplicaslaaccióna todaslas instanciasde unobjeto,de estaformapodrías cambiarel color de todaslas pelotasrojas enazules. El segundoparámetroeslacasillaamrcada como Relative (Relativo).Si la marcas,losvaloresque escribasseránrelativosalosactualesenel momentode aplicarlaacción.De estaforma podrías sumarle puntosaun marcador en lugarde repetirsiempre el mismonúmero. Podráseditartodoslosvaloresloscuandoquierashaciendodoble clicsobre laaciónque te interese.. Los seispuntos de accionesendetalle: Accionesde movimiento(move) Movimiento(Move) Movimientofijo(Move Fixed) La instanciadel objetose empiezaamoverenla direcciónyvelocidadindicadas. Para indicarla direcciónhaz clicsobre una de lasflechas.Si marcas varias se elegiráunaal azar (porejemploparaque unenemigoaparezcamoviéndosealaizquierdaoa la derecha).Para detenerel movimientodejamarcadoel botóndel medio. La velocidadestáindicadaenpixelesporpasoypor defectoes8. Procura evitarlosvaloresde negativos. Movimientolibre (Move free) Esta es lasegundaformaenla que puedesasignarunmovimiento. Puedesindicarladirecciónconmás precisión,eligiendounángulode entre 0 y 360 grados,donde
  25. 25. 0 significaaladerechay aumentaensentidocontarioalas agujasdel reloj (90º sería haciaarriba). Si quiereslograrunadirecciónaleatoriaescribe random(360) pues,comoverásmásadelante,esta función randomdevuelve unnúmeroal azarmenorque el indicado.Si marcas la casillaRelativo(Relative) el nuevomovimientose sumaráal que actual,por ejemplo,si lainstancia va hacia arribay le añadesun pequeñomovimientoalaizquierda,ladirecciónresultanteseráen diagonal arribaa la izqquierda. Mover hacia (Move Towards) Esta acción ofrece unterceraforma para indicarunmovimiento. Sólotienesque indicaruna posiciónyla velocidadpara que la instanciacominece amoverse con la velocidadseleccionadaalaposicióndada,peronose detendráendicholugar.Porejemplo,si quieresque unabalavuele hacialaposiciónde unanave espacial (llamadanave),puedesusar como posiciónnave.x ynave.y(másadelante aprenderássobre estasvariables). Si marcas lacaillaRelativo(Relative)especificasunaposiciónrelativaalaactual que tiene la instancia,lavelocidadnose tomacomo relativa. Velocidadhorizontal (Speedhorizontal) La velocidadde unainstanciaestáformadaporunaparte horizontal yotra vertical. Con estaacciónpuedesmodificarla velocidadhorizontal,si espositivael movimientovahaciala derechay si esnegativahaciala izquierda.Lavertical permaneceráconstante. Usa laopción Relativopara incrementarlaodisminuirlarespectoala actual. Velocidadvertical (Vertical speed) De formasimilar,con estaacción cambiaslavelocidadvertical.Si indicasunvalorpositivola instanciase moveráhaciaabajo y si esnegativohaciaarriba. Establecer gravedad (Setgravity) Con estaacciónpuedessimularel efectode lagravedadenunobjeto,indicandoladirección(entre 0 y 360 grados) y la velocidad.A cada fotogramadel juegoesavelocidadse incrementaráenla direccióndada.Lo normal esusar un númeropequeño(como0.01) endireccióndescendente (270º). Marcando la casilaRelativo incremetaslavelocidadde gravedadyladirección.Al contrarioque en el mundoreal,losobjetospuedentenerdiferentesdireccionesde gravedad.
  26. 26. Rebote horizontal (Reverse horizontal) Con estaacciónpuedesinvertirel movimientohorizontalde lainstancia.Porejemplo,cuandoun objetocolisionaconuna paredvertical. Rebote vertical (Reverse vertical) Con estaacciónpuedesinvertirel movimientovertical de lainstancia.Porejemplo,cuandoun objetocolisionaconuna paredhorizontal. Establecer la fricción(Setfriction) La friccióndisminuye lavelocidadde lainstanciayaquíespecificasel valorde dichareducción.En cada fotogramase restaráde lavelocidadactual hastallegara 0. Lo normal es usarun númeropequeño(como0.01) porque si fueramuy altola instanciase pararía muyrápido. Llevar a (Jump) Llevar a una posición(Jump to Position) Usando estaacción puedescolocarlainstanciaenlaposiciónque quieras,sólotienesque indicar lascoordenadas x e y para que la instanciaaparezcaallícon su puntode referenciacomoorigen.Si marcas la casillaRelativo,laposiciónse modificarespectoala actual. Se suele usareninstanciasque se muevencontinuamentemencadafotogramaincremetemosla posiciónunpoco. Llevar al origen (Jumpto Start) Esta acción colocala instanciaa laposicióndonde fue creadaensumomento. Llevar a posiciónaleatoria (Jumpto Random) Esta acción mueve lainstanciaauna posiciónaleatoriaenlaroom, donde nose solape conalgún objetosólido. Puedesindicarque ajuste (snap) se usará.Convalorespositivoslascoordenadasseránelegidas con múltiplosenterosde esosnúmeros.Puedeserútil paramantenerlaalineaciónconlasceldas de la cuadrícula de tu juego(si lahay),la velocidadhorizontal y vertical se puedenespecificarpor separado. Alineara la cuadrícula (Alignto grid) Con estaacciónpuedesalinearlaposiciónde unainstanciaala cuadrículainicandosusvalores horizontal yvertical,estoes,el tamañode lasceldas.Puede serútil paraasegurarte que las
  27. 27. instanciasse mantienenenlacuadrícula. Teleportación(Wrap screen) Con estaacciónpuedeshacerque cuandouna instanciasalgade la room porun ladoaparezaca por el contrario(teleportación).Normalmentese usaenel eventoExterior(Outside event). Para que funcione,lainstanciadel objetodebe tenerunavelocidadporque ladirecciónenlaque reaparece se calculacon la direcciónpreviaque llevaba.Puedesseleccionarsi lainstanciase teleportahorizontalmente,verticalmenteoenambasdireccione. Mover hasta contactar (Move to Contact) Con estaacciónmueveslainstanciaenundireccióndadahasta que toque a otro objeto.Si enla posiciónactual de la instanciayahay colisión,nose moverá,encasocontrario,lainstanciase para justoantesde que ocurra lacolisión. Puedesespecificarladirecciónylamáximadistanciaenlaque se moverá.Porejemplo,cuando estácayendopuedesmoverlaunadistanciamáximahastaque encuentre unobjeto.Puedes indicartambiénsi se tienenencuentatodoslosobjetososólolossólido. Normalmente estaacciónse pone enuneventode colisiónparaasegurarte que lainstanciadeja de moverse cuandochoca. Rebote (Bounce) Cuandocolocasesta acciónen el eventocolisiónde algún objeto,lainstanciarebotacomoloharía enel mundoreal.Si el parámetro presicisión(precise) loconfigurascomo falso(false) sólo funcionarabienconparedesverticalesyhorizontales.Si loconfigurasa verdadero (true) funcionaráenparedesinclinadasocurvas,peroserá máslento. Puedesindicartambiénsi el reboteserácontraobjetossólidoocontodos.El rebote nosiempre es del todoprecisoporque dependede muchosfactores,peroenlamayoríade situacioneseslo suficientementebueno. Accionesprincipales,grupo 1 (main1) Objetos(Objects) Crear instancia (Create instance) Con estaacciónpuedescrearuna instanciade un objeto.Debesindicarel objetoacreary la
  28. 28. posiciónparala nuevainstancia.Si marcasla casilla Relative,laposiciónesrelativaala posiciónde la instanciaactual. La creaciónde instanciasdurante el juegoesmuyútil,porejemplounanave puede crearbalas, una bombauna explosión,etc.Enmuchosjuegostendrásunobjetode control que cadacierto tiempocrearáenemigosuotrosobjetos.El eventode creaciónse ejecutalacrearse lanueva instancia. Crear instancia en movimiento(Create moving) Es la mismaacciónque la anteriorperocon doscampos adicionales.Puedesespecificar la velocidady direcciónde la instanciaque se creará.Si usasla opciónRelative sóloafectaráala posiciónyno a la velocidadni dirección. Por ejemplo,parahacerque una bala se muevaenla mismadirecciónque el personaje que lacrea usa un pequeñotruco:activalaopción Relative e introduce laposición0,0. En el campo de dirección,introduce lapalabra direction,que esladirecciónenlaque se mueve el personajeque disparala bala. Crear instancia de un objetoaleatorio (Create Random) Te permite crearlainstanciade 1 objetocualquierade losde ungrupo de hasta 4 que hayas elegido.Debesindicarlos4 objetosposiblesque se podráncreary laposicióndonde se situarála nuevainstancia. Si usas Relative,laposiciónserárelativaala instanciaque ejecute laacción.Si noquieresusar4 objetos,puedesseleccionarNoObjectpara los demáscampos.Esta acciónse puede usarpara crear un enemigode tipoaleatorioenunaposicióndeterminada. Cambiar la instancia (Change instance) Con estaacciónpuedescambiarla instanciaactual por otro objeto.Porejemplo,puedescambiar una instanciade unabombaen una explosión.Todoslosparámetros,comoel movimientoolos valoresde variables,se mantendrániguales.Puedesindicarsi llevaracabo o no el eventode destrucciónparael objetoactual y el eventode creaciónparael nuevo. Destruir la instancia (Destroy instance) Con estaaccióndestruyeslainstanciaactual y se ejecutasueventodestrucción. Destruir instancias alrededor(Destroyat Position) Con estaacciónpuedesdestruirtodaslasinstanciascuyacaja límite contieneunaposicióndada. Esto esútil por ejemplocuandoempleaslaexplosiónde unabombaque destruyesobjetoasu
  29. 29. alrededor.Cuandomarcaslacasilla Relative,laposiciónesrelativaala posiciónde lainstancia actual. Gráficos(Sprites) Cambiar el sprite (Change sprite) Usa estaacciónpara cambiarel sprite de la instancia,indicandoel nuevospriteolasubimagen que se debe mostrar.Habitualmente usarás0para esto(laprimerasubimagen) salvoque quieras visulizarotra.Usa -1 si no quierescambiarlasubimagenactual. Por último,tambiénpuedescambiarlavelocidadde animaciónde lassubimágenes.Si sóloquieres veruna pon 0. Si es mayorque una subimagense omitiráysi esmenorque 1 subimagense mostrará variasveces.Nousesvelocidadesnegativas. Cambiarspritesesunacaracterística importante.Porejemplo,amenudoquerráscambiarel sprite de un personaje de acuerdoala direcciónala que se dirige.Lopuedeslograrhaciendodiferentes spritesparacada unade lascuatro direccionesyenloseventosdel tecladoparalasteclasdel cursor establecesladirecciónde movimientoyel sprite. Transformar el sprite (PRO) Usa estaacciónpara cambiarel tamaño yorientacióndel sprite de lainstancia.Usalosfactoresde escalapara hacer el sprite másgrande o pequeño.El ángulo(angle) indicalaorientaciónen sentidoanti horariodel sprite. Por ejemplo,parahacerque el sprite se oriente enladireccióndel movimientousael valordirection,que seríamuyútil para un coche.Tambiénpuedesindicarsi el sprite se reflejará horizontalmente y/ovolteadoverticalment. Esta acción sólo estádisponibleen la versión PRO. Color del sprite (PRO) Normalmente el spritese dibujacomose hacreado.Usando estaacción puedescambiarle el color combinándoloconlos coloresque yatenía.Si quieresdibujarunsprite envarioscoloresdebes definirloenblancoynegroy usar un colorenesta acciónpara indicarsu nuevaapariencia. Tambiénpuedesindicaruna transparencia (alpha):0 significatotalmentetransparentey1 totalmente opaco.Conunvalorintermedioconseguirásque se puedaverel fondoatravésdel sprite.Esmuy útil para explosiones. Esta acción sólo estádisponibleen la versión PRO.
  30. 30. Sonidos(Sounds) Reproducir un sonido(Play sound) Con estaacción reproducesunode losrecursosde sonidoque añadiste al juego.Puedesindicarsi suenasólounavez (pordefecto) ode formacontinua. Se puedenreproducirvariosarchivoswave al mismotiempo,perosólounmidi alavez.Por lo tanto,si se iniciael sonidode unmidi,el actual se detiene. Detenerun sonido (Stopsound) Esta acción detiene el sonidoindicado.Si hayvariasinstanciasdel sonidoreproduciéndose,todas son detenidas. Comprobar un sonido(Checksound) Si el sonidoindicadoestásonandolaacciónsiguiente se ejecutaysino,laacciónsiguiente se ignora.PuedesseleccionarNotpara que actúe al revés(esdecir,si el sonidonoestá,laacción se ejecuta). Por ejemplo,puedescomprobarsi estásonandolamúsicade fondoy si no, hacesque empiece a sonar otra canción.Esta accióndevuelve true cuandoel sonidosuenaporlosaltavoces.Cuando usas laacción de hacer sonarun sonidotarda unpoco hasta que el sonidollegaalosaltavoces,así que estaacción devolverá falsedurante esepequeñoespaciode tiempo.Cuandodetienesun sonido,tampocose para instantáneamente asíque laaccióntardará unpoco endevolver false. Salas(Rooms) Sala anterior(PreviousRoom) Ir a la sala anteriorindicandoel tipode transiciónentrelassalas, pruebatodaslasque haypara vercuál te gustamás. Si estásenla primerasala,se produce un error. Siguiente sala (Nextroom) Ir a la siguiente salaindicandolatransición.Si estásenlaúltimasale unerror. Reiniciar la sala (Restar Room) Se reinicialasalaactual. Puedesindicarel efectode transición. Ir a otra sala (Differentroom) Con estaacciónvas a lasala que quierasindicandosunombre ylatransición. Comprobar anterior(CheckPrevious) Esta acción verificasi existelasalaanteriory,encaso afirmativo,se ejecutalasiguienteacción. Normalmente necesitashacerestacomprobacionantesde moverte alasala anterior.
  31. 31. Comprobar siguiente (CheckNext) Esta acción verificasi existelasiguiente salay,encasoafirmativo,se ejecutalasiguienteacción. Normalmente necesitashacerestacomprobacionantesde moverte alasiguiente sala. Accionesprincipales,grupo 2 (main2) Tiempo (Timing) Establecer alarma (Set alarm) Sirve para configurarunode los12 relojesde alarma parala instancia,puedesindicarel número de fotogramas(steps) ylaalarma. La instanciarecibiráel correspondiente eventoalarmadespués del númerode fotogramasindicado.Tambiénpuedesincrementarodisminuirel valormarcando la casillaRelativo(Relative).Si le dasunvalormenoro igual a 0 la desactivas. Dormir (Sleep) Puedescongelarlaescenadurante el tiempo(enmilisegundos)que indiques.Se sueleusaral principiooal final de un nivel ocuandole das algúnmensaje al jugador.También puedesindicarsi la pantalladebe serdibujadaprimeroparareflejarlasiruaciónmásreciente. Información(Info) Mostrar mensaje (DisplayMessage) Con estaacciónmuestrasun mensaje enunaventanade diálogo,sólotienesque escribirel mensajes.Si usasel símbolo#en el textoseráinterpretadocomouncarácter de nuevalínea(para obtenerlopon #).Si empiezasconunacomillaodoblescomillasse interpretarácomo una expresión. Mostrar información(Show info) Con estaacciónmostrarás la ventanade informaciónel juego. Juego (Game) Reiniciar juego(Restart Game) Con estaacciónreiniciarásel juegodesde el principio. Finalizar el juego(End Game) Con estaacciónterminael juego.
  32. 32. Guardar el juego(Save Game) Guardarás el estadoactual de lapartida enun archivoque posteriormente podráscargarcon la acción Cargar Juego.El archivose crea enla carpetaraíz del juego.Tenencuentaque que sólose guardan losaspectosbásicosde lapartida,opcionesmásavanzadascomoel sonidoque se está reproduciendo,loscontenidosde estructurasde datos,partículas,etc...nose guardarán. Cargar un juego (Load Game) Carga el estadode la partidadesde unarchivo,aquí indicasel nombre del archivo.Asegúrateque el juegoguardadoesel mismo y fue creadoco la mismaversiónde Game Maker,sinopuede dar errores.Para serprecisos,el juegose cargaal final de este paso,porlo que algunasacciones despuésde estaaúnsonejecutadasenel juegoactual ¡noel cargado! Accionesde control Hay accionescon lasque puedescontrolarel funcionamientode otras.Muchasde estasacciones hacenpreguntas,porejemplocuandounaposiciónestávacía.Si la respuestaessi (true) se ejecuta la siguienteacción,encasocontrariose omite.Si quieresejecutaruomitirvariasaccionesenbase a una respuestapuedesponerlasenun bloque (block) poniendoaccionesparacomenzary finalizarel bloqueantesydespuésde ellas.Tambiénhayunaparte sino (else) que se ejecuta cuandola respuestaesno.Normalmente unapreguntase muestraasí: Aquí se preguntasi la instanciaestáenuna posiciónlibre de colisión.Si esasíse empiezaamover
  33. 33. enuna direccióndada,si no,se llevaala posiciónque indiques.Fíjate que losbloquesestán sangrados(desplazados aladerecha),que daunamejorvisiónde lasacciones,sobre todocuando hay bloquesdentrode otros.Tambiénesmásfácil detectarsi te hasolvidadounaacciónde aperturao cierre. Para todas laspreguntashayun campo etiquetadocomo NO,si lamarcas, se invierte el resultado de la pregunta.Estoes,si el resultadoesverdaderose convierte enfalsoyal revés.Estote permite realizarciertasaccionescuandolapreguntanoesverdadera. En muchas de laspreguntaspuedesindicarsi se vana aplicar a todaslas instanciasde unobjeto. En este caso el resultadoesverdadero(true)sólosi esverdaderoparatodaslasinstanciasdel objeto.Porejemplo,puedescomprobarsi paratodas lasbolasla posiciónunpocoa su derecha estálibre de colisión. Este es el listadode accionesdisponibles.Tienenformasycoloresdiferentesal restopara reconocerlasmásrfácilmente. Para todas lasacciones verdadero=true y falso=false Preguntas(Questions) Verificarvacío (CheckEmpty) Devuelve verdaderois lainstanciaactual,situadaenlaposiciónindicada,nogeneraunacolisión con un objeto.Puedesindicarlaposicióncomoabsolutaorelativaytambiénsi sólose tienenen cuentalosobjetosólidosotodos. Normalmente se usaparaverificarsi lainstanciase puede moverauna posicióndeterminada. Verificarcolisión(CheckCollision) Esta acción hace lo contrarioque la anterior.Devuelve verdaderosi hayunacolisióncuandola instanciaactual se situe enuna posicióndada. Verificarobjeto (Checkobject) Devuelve verdaderosi lainstanciasituadaenunaposicióndadase encuentraconuna instanciadel objetoindicado. Comprobar el númerode instancias (TestInstance Count) Aquí especificasunobjetoyunnúmero.Si el númeroactual de instanciasdel objetoesigual al númeroque escribasdevuelveverdadero,sino,devuelve falso.Tambiénpuedesindicarque la verificaciónse hagacuandoel valoresmenoro mayor que el valordado.
  34. 34. Normalmente se usaparacomprobarsi todaslas instanciasde un tipodeterminadohan desaparecido,que suele serel momentoparaterminarunnivel oel juego. Comprobar probabilidad(TestChance) Puedesindicarel númerode carasde un dadoy luegotirarlo,si latirada coincide el resultadoes verdaderoyse realizalasiguiente acción. Se puede usarpara ponerunelementode formaaleatoriaentujuego.Porejemplopuedes generarun tipoparticularde bombao cambiar ladirección.Cuantosmásnúmerostengael dado, menorserála probabilidadde que salga. Puedes emplearnúmerosreales,si ponesel númerode carasen1.5 la próximaacciónse realizará 2 o 3 veces,usarunnúmeromenorde 1 no tiene ningúnefecto. Verificarpregunta (CheckQuestion) Escribesunapreguntay al jugadorse le mostrará un diálogoconlosbotonesSi(Yes) yNo(No).El resultadoesverdaderosi el jugadorrespondeSi. Comprobar expresión(TestExpression) Es la acción de consultamáshabitual.Si laexpresiónse evalúacomoverdadera,estoes,un númeromáyoro igual que 0.5, se realizalasiguiente acción.Másinformaciónsobre expresiones. Verificarratón (CheckMouse) Devuelve verdaderosi se pulsael botónde ratónindicado,unuso habitual esenel eventopaso (stepevent).Puedesverificarsi unbotónde ratón espulsadoy, encaso de sercierto,por ejemplo moverloaesa posición.Paraellousaríaslaacción Llevara una posición(Jumptoa Position) con losvalores mouse_x ymouse_y. Verificarcuadrícula (Check Grid) Devuelve verdaderosi laposiciónde lainstanciacoincide conlacuadrícula,especificasparaelloel espaciadohorizontal yvertical.Esmuyútil cuandociertasacciones,comohacerun giro,sóloestán permitidascuandolainstanciaestáenunaposiciónde lacuadrícula. Otras (Others) Comienzode bloque (Start Block) Indicael comienzode unbloque de acciones. Fin de bloque (End Block) Indicael final de unbloque de acciones.
  35. 35. Sino (Else) Cuandoel resultadode laconsultaesfalsose realizanlasaccionesque siguenaestaacción. Repetir(Repeat) Esta acción se usa para repetirlasiguiente acciónobloque de accionesel númerode vecesque indiques. Salir del evento(Exit Event) Cuandoaparece estaacción no se ejecutaningunamásenel evento,normalmentese usadespués de una pregunta.Porejemplo,cuandounaposiciónestálibrenose necesitahacernadamás,por loque salimosdel evento.Eneste ejemplosólose ejecutanlasaccionesposteriorescuandohay una colisión. Si deseasunmayor control sobre loque sucede enel juegopuedesusarel lenguajede programaciónque se explicaenlasegundaparte del manual,te damás flexibilidadque usarlas acciones. Hay accionespara definirycomprobarvariables,sonmássencillasde usarque el códigoy muy útilesparatu juego.Lasaccionessiguientesse ocupande esto: Código(Code) Ejecutar código (Execute Code) Cuandose añade esta acción,se muestraun cuadro de diálogodonde puedesescribiruntrozode códigoque será ejecutado.Puede contenerunallamadaauna funciónoalgomás complicado. Usa estaacciónsólopara trozos de códigopequeños,si sonmáslargoste recomiendousarscripts como se describe enestaseccióndel manual. Comentario (Comment) Usa estaacciónpara añadiruna líneade comentarioa lalistade acciones,que se mostrará en letracursiva.Añadircomentarioste ayudaa recordarlo que hace el evento. La acciónensi no hace nada, perorecuerdaque aúnestásen una acción,así que,si la colocas despuésde unaaccióncondicional se ejecutasi esverdadero(aunque nohaganada). Variables(Variables) Establecer variable (Setvariable) Hay muchas variablesinternasenel juegoque puedescambiarconestaacción.Tambiénpuedes
  36. 36. crear tus propiasvariablesyasignarlesvaloresindicandoel nombreyel nuevovalor. Cuandomarcas la casillaRelativo,el valorse sumaal que actualmente tengalavariable.Fíjate que estosólose puede hacercuandotenga ya unvalor asignado.Sigue leyendo parasaber más sobre lasvariables. Comprobar variable (TestVariable) Con estaacciónpuedescomprobarsi el valorde unavariable esigual a unnúmeroenparticular,si esasí devuelve verdaderoysinofalso.Tambiénpuedesindicarsi lacomprobaciónse hace para valoresmenoresque omayoresque el dado.Tambiénse puede usarparacomparar dos expresiones. Dibujar variable (Draw variable) Con estaacciónpuedesdibujarel valorde unavariable enuncualquierpuntode lapantalla.Sólo se puede usaren el eventodibujar(Draw Event) de unobjeto. Accionesde puntuación(score) En la mayoría de juegosel jugadortendrápuntuación,variasvidasounnivel de energía.Las siguientesaccionessirvenparatratar estoselementos. Puntuación(Score) Establecer la puntuación(Set score) La puntuaciónse suele mostrarenel títulode laventanade juego.Conestaacción puedes cambiarla,sólotienesque indicaraquíel nuevovalor.Paraañadir más puntosa lapuntuación actual marca la casillaRelativo(Relative). Comprobar puntuación(Test Score) Con estaacciónde consultapuedescomprobarsi lapuntuaciónhaalcanzadoun determinado valor.Indicael númeroysi la puntuacióndebe serigual,menorque omayorque ese número (equal to,smallerthan,largerthan). Dibujar puntuación (Draw Score) Dibujasel valorde la puntuaciónenlapantalla,escribe laposiciónyel títuloque se mostrará antesde la puntuaciónconel tipode fuente actual.Sólose puede usarenel eventodraw de algún objeto.
  37. 37. Mostrar puntuacionesmás altas (ShowHighscore) Cada juegoguardalas 10 puntuacionesmásaltasque puedesmostrarconestaacción.Si laactual estáentre esaspuntuacionesse introduce enlalistayel jugadorescribirásunombre.Puedes indicarla imagende fondoque se usará,si la ventanatendráborde o no,el color para la nuevay lasotras entradasy la tipografía. Borrar puntuacionesmás altas (ClearHighscores) Esta acción vacía la tablade records. Vidas(Lives) Establecer el númerode vidas (SetLives) Con estaacciónpuedescambiarel númerode vidasque quedan.Al iniciode juegole dasunvalor (porejemplo,3) ylo aumentasodisminuyesdependiendode loque suceda.Noolvidesmarcarla opcionRelativo(Relative) si deseassumarorestarvidasa las que hay enese momento.Cuandose llegaa 0 o menosse generaun evento"Nomásvidas"(Nomore lives). Comprobar vidas(Test Lives) Con estaacciónde consultapuedescomprobarsi el númerode vidashaalcanzadoun determinadovalor.Indicael númeroy si el númerode vidasdebe serigual,menorque omayor que ese número(equal to,smallerthan,largerthan). Dibujar vidas (Draw Lives) Dibujasel númerode vidasenlapantalla,escribe laposiciónyel títuloque se mostraráantesdel númerode vidascon el tipode fuente actual.Sólose puede usarenel eventodraw de algún objeto. Dibujar imágenesde vida (Draw Life Images) En lugar de mostrar el númerode vidasconuna cifra esmejorusar pequeñasimágenes,que eslo que hace estaacción.Indicala posiciónylaimagenque quieresyenese lugarapareceránel númeroindicadode esasimágenes.Sólose puede usarenel eventodraw de algúnobjeto. Nivel de energía(Health) Establecer la energía(SetHealth) Con estaacciónpuedescambiarel invel de energíade 0 (vacío) a 100 (completo) indicandoel nuevovalor.Algohabitual esdisminuirel nivelde energía,para ellodeberásmarcarla opción Relativo(Relative).Cuandose llegaaunnúmeroigual o menorque 0 se generaunevento"sin energía"(Outof health). Comprobar energía(SetHealth)
  38. 38. Con estaacciónde consultapuedescomprobarsi el nivel de energíahallegadoaun determinado nivel.Indicael valorysi la energíadebe serigual,menorque omayorque ese número(equal to, smallerthan,largerthan). Dibujar energía(Draw health) Dibujasel nivel de energíaenformade barra,cuando estáen 100 se ve completaysi está en0 se ve vacía. Puedesindicarlaposición,el tamaño,el colorde primerplanoyel colorde fondo. Puntuación enel títulode la ventana (Score caption) Normalmente enel títulode laventanade juegose muestrael nombre de laroomy la puntuación.Conestaacciónpuedesindicarsi se muestrao nola puntuación,lasvidasy/oel nivel de energíay el título para cada uno de ellos. Accionesde dibujo(draw) Normalmente encadafotogramadel juegoypara cada instancia,se dibujasusprite enlasala. Esto puedescambiarloponiendoaccionesenel eventodibujar(draw event).Sólose ejecutarán cuandoel objetoesvisible. Estas sonlas accionesque estándisponibles,sólotendránsentidoenloseventosde dibujo,si las ponesenotroseventosseránignoradas. Las queestán marcadascon un * sólo están disponiblesen la versión PRO. Dibujando(Drawing) Dibujar gráfico (Draw sprite) Indicasel sprite,laposición(si esabsolutaorelativaalaposiciónactual de la instancia) yla subimagendel sprite (senumerande 0en adelante).Si quieresdibujarlasubimagenactual,usa-1. Dibujar fondo (Draw background) Indicaslaimagende fondo,laposición(absolutaorelativa) ysi laimagendebe cubrirtodalasala o no. Dibujar texto (Draw text) Especificasel textoylaposición.Unsímbolo# es interpretadocomo saltode línea(Usa# para escribirel símbolo#),de estaforma puedescreartextosde variaslíneas.
  39. 39. Si el textocomienzaconuna comillasimple odoble esinterpretadocomounaexpresión,por ejemplousa: 'X: ' + string(x) para mostrar el valorde la coordenadax de lainstancia.La variable x almacenalacoordenadax actual y lafunciónstring() convierte ese númeroenunacadenade texto.+ une losdos textos. Dibuja texto escalado* (Draw Scaled Text)* Similarala anterior,peroaquí puedesindicarunfactorde escaladohorizontal yvertical para cambiarel tamaño del textoyun ángulopara rotarlo. Dibujar rectángulo (Draw rectangle) Puedesespecificarlascoordenadasde dosesquinasopuestasde unrectánguloytambiénsi la posiciónesabsolutaorelativarespectoalainstanciaactual. Degradado horizontal*(Horizontal Gradient)* Tambiéndibujauncuadradoperocon un rellenodegradadoque cambiade izquierdaaderecha, especificaslosdoscoloresausar. Degradado vertical*(Vertical gradient)* Esta vezloscoloresrellenanel rectángulode arribahaciaabajo. Dibujar elipse (Draw ellipse) Dibujaunaelipse indicandolascoordenadasde dosesquinasopuestasdel rectánguloque la contiene ysi la posiciónesabsolutaorelativaala instanciaactual. Elipse degradada* (GradientEllipse)* Lo mismoque la anterior,peroenestaindicasdoscoloresque larellenandesdeel centrohaciael borde. Dibujar línea(Draw line) Especificaslascoordenadasde losdosextremosde lalínea, yaseaabsolutao relativaala posición actual de la instancia. Dibujar flecha (Draw Arrow) Dibujaunaflecha.Especificaslascoordenadasde losextremosde lalíneayel tamañode la punta de flecha.
  40. 40. Preferencias (Settings) Establecer color (SetColor) Te permite establecerel colora usar para dibujarformas,líneasytexto.Noinfluyeenlosspriteso losfondos. Poner enpantalla completa (SetFull Screen) Con estaacciónpuedescambiarentre losmodosventanaypantallacompletaya la inversa. Puedesindicarsi se debe cambiarel modoosi ir a modoventano pantallacompleta. Otras (Others) Captura de pantalla* (Take Snapshot)* Con estaacciónpuedeshaceruna captura de pantalladel juegoyguardarlaenun archivode imagen.png. Crear efecto* (Create Effect)* Con estaacciónpuedescreartodo tipode efectosde unamanerasencilla.Especificasel tipode efecto,porejemplounaexplosiónde humo,suposición,tamañoycoloro si deberíamostrarse por debajooencimadel objeto. El restofuncionade formaautomática.Para lalluviaola nieve laposiciónesirrelevante porque siempre cae haciaabajodesde laparte superiorde lapantalla.Paraconseguirunalluviacontinua deberíascrearlaencada fotograma(step). Observaque debajo(below) significaunaprofundidadde 100000 y porencima(above) unade - 100000. Usando expresionesyvariables En muchas accionesnecesitasintroducirvaloresparalosparámetros,que puedenserunnúmroo una fórmula,porejemplo32+12. Perotambiénpuedesescribirexpresionesmáscomplicadas.Por ejemplo, si quieresduplicarlavelocidadhorizontal,puedesestablecerlacon2*hspeed, donde hspeed eslavariable que indicalaactual velocidadhorizontalde lainstancia.Hay muchasvariables que puedesusar,algunasde lasmás importantesson: x la coordenadax de la instancia. y la coordenaday de la instancia. hspeedlavelocidadhorizontalenpixelsporfotograma.
  41. 41. vspeedlavelocidadvertical enpixelesporfotograma. directionla direcciónactual de movimientoengrado(0-360). speedlavelocidadactual enestadirecciónque se muestracuandoel objetoesvisible (1) o invisible (0). image_index estavariable indicaque subimagense muestraenel sprite actual.Si lo cambiasy estableceslavelocidada0 puedesmostrarunasubimagendeterminada. image_speedestavariable indicalavelocidadconlaque se muestranlassubimágenes, por defecto1.Si loaumentaspor encimade 1 se saltanalgunassubimágenesparahacerla animaciónmásrápida,si lo ponesmenorque 1 la animaciónse hace más lentapor repeticiónde subimágenes. score el valor actual de la puntuación. livesel númeroactual de vidas. healthel nivel de energía(0-100). mouse_xlas posiciónx del ratón. mouse_y lasposiciónydel ratón. Puedes cambiarlamayoría de estasvariablesusandolaacciónestablecervariable(setvariable) y tambiénpuedesdefinirlastuyaspropiasdándole unvalor(nouseslaopciónRelativoporqueaún no existen).Despuéspuedesusaresasvariablesenexpresiones. Las variablesque creesson localespara lainstanciaactual,estoes,cada objetotiene supropia copiade ellas.Paracrear unavariable global,ponla palabraglobal yun puntodespuésde ella. Tambiénte puedesreferiralos valores de lasvariablesde otrosobjetosponiendosunombre seguidode unpunto.Porejemplo,si quieresmoverunabolaal lugar donde estáunmoneda puedesestablecerlaposicióna(moneda.x, moneda.y).Enel casode un eventde colisiónpuedes referirte alacoordenadax de otro objetocomo otro.x.En expresionescondicionalespuedesusar comparacionescomo< (menorque),>,etc. En tus expresionestambiénpuedesusarfunciones.Porejemplo,lafunciónrandom(10) devuelve un númeroenteromenorde 10, que te podría valerpara establecerlavelocidadde unobjetode formaaleatoria.Existenmuchasmásfuncionesque serándescritas másadelante eneste manual. Creando Rooms
  42. 42. Ahoraque ya tienesobjetosconsuinteractividadenformade eventosyacciones,eshorade crear lasrooms donde se desarrollaráel juegoensi.Al menosnecesitascrearunapara situartodoslos elementos.Cuandoiniciamosel juegose mostrarálaprimeraroomy las instanciasde objetoscon eventoscrearcobrarán vida. Cuandocreas una roomtienesmuchasopciones,puedesañadirobjetos,fondos,tilesydefinir vistaso ciertaspropiedades,peroeneste capítulosóloveremoslasopcionesbásicas:añadir instanciasde objetosyconfigurarlosfondos. Para crear una room,elige Crearsala (Create Room) enel menú Recursos(Resources),se mostrará la siguienteventana: En la parte superiorhayuna barra de herramientasdondepuedesindicarel tamañode lasceldas de la cuadrícula que se usa para alinearobjetos.Tambiénpuedesdecidirsi se muestranlaslíneas de cuadrícula, losfondos,etc...algunasvecesesútil ocultarciertoselementos. Cuandoañadesinstanciasde objetossiempre se mostraránconindependenciade laconfiguración de vistas.Tambiénhaybotonesparaborrar todas lasinstanciasde laroom o para moverlas, usandovaloresnegativosharáque se desplacenhaciaarribaoa laizquierda.Esútil cuando cuandodecidesagrandarla roomo para situarinstanciasfuera.Porúltimoestánlos
  43. 43. botones Deshacer(Undo) para dehacerlosúltimoscambiosyel botón OK para guardar los cambios.Si no losquieresguardar,hazclicen lacruz de la esquinasuperiorderecha. En la parte izquierdade laventanahaytrespestañas, objetos(objects),preferencias(settings) y fondos(backgrounds),que explicaremosacontinuación. Objetos.Añadiendoinstancias. A la derechade laventanapuedesverlaroomvacía y con fondogris.Para empezaraañadir instanciasde objetosseleccionalapestaña Objetos(Objects): Ahoraseleccionael objetoque quiereshaciendoclicenel iconode menuo enel área de imagen (engris) para que aparezcauna listacon losobjetosdisponibles.Fíjate que aparece unacruzenla imagencargada que indicacomose alinearánlasinstanciasconlacuadrícula. Pasa al área grande de laderecha,donde se visualizalaroom, yhaz cliccon el botónizquierdodel ratón para colocar una instancia del objeto seleccionado,puedesborrarlahaciendoclicconel botónderecho.Pordefecto,lasinstanciasse alineanalacuadrícula al colocarlas,puedesevitarlo manteniendopulsadalatecla<Alt>. Si mantienespulsadoel botónmientrasmuevesel ratónpuedes moverlainstanciashastasu nuevaposición.Si ademásmantienespulsadalatecla <Mayúsculas>añadirásvariasconsecutivas.
  44. 44. Al colocar una instanciasobre otra,laprimeradesaparece.Si quieresevitarlodeshabilitala opción Borrar subyacente (Delete underlying)que aparece abajo. Si quieres cambiar su posiciónpulsalatecla<Ctrl> yclic con el botónizquierdosobre lainstancia. No lassueltesymuévelaconel ratóna su nuevoemplazamiento.Usa <Alt>para mayor precisióno no usar lacuadrícula. Si mantienespulsado <Ctrl>yel botónderechosobre unainstanciaaparece unsubmenú.Conél podrás borrar (Delete),especificarunposiciónmás precisa(Change position...), ajustarlaa la cuadrícula (Snapto Grid) o moverla al frente(Bringtofront) oal hacia atrás (Sendto back). Preferencias.Configurandolaroom. A cada room le puedesespecificarunasopcionesdiferentes.Seleccionala pestañaPreferencias(Settings): Nombre (Name).Elige unoque describabienel lugardondeestáel jugador. Título para la sala (Captionforde room).Se muestraenla ventanaal jugar. Ancho x Alto (WidhtXHeight).Medidasenpixelesde laroom. Velocidad(Speed).Númerode fotogramasporsegundo,amayorvelocidadel movimientoesmás suave,peronecesitarásunordenadormáspotente paraque se ejecute bien. Fondos.Configurandoel fondo.
  45. 45. En la pestañaFondos(Backgrounds) puedesestablecerlosfondosausar: Arribapuedesverel colorde fondo,hazclic enél para cambiarlo,sóloesútil si no usasuna imagende fondopara cubrirtoda la room.Si vas a usar una imagendesmarcalaopción Dibujar color de fondo(Draw backgroundcolor). Lo siguiente que vesesunalistacon8 fondosque puedesdefinir,aunquelamayoríade las veces sólonecesitarásunoodos.Para habilitarunfondoseleccionaunode lalistaymarca la casillaVisible cuandocomienzala sala (Visiblewhenroomstarts) osinonolo verás.El nombre se pondráen negritacuandoel fondoesté definido. Ahoraescoge del menúunade las imágenesque previamente hascargadoy ajustalasopciones que quieras. Repetición.Puedesindicarsi se repetiráhorizontay/overticalmente (Tile Hor./Tile Ver.). Posición.Variandolosvaloresde Xe Y. Influiráenel tiling. Estirar (Stretch).Si estámarcadoel fondoocupatoda la pantalla.Si noes de su mismotamaño puede quedardistorsionada. Velocidad.Puedeshacerque se muevadándole unavelocidadhorizontal y/overtical (Hor.Speed/ Vert.Speed).Nose recomiendasi usaslaopciónEstirar. Imagen de primer plano (Foregroundimage).Si laactivasel fondose colocaráenprimerplanoy
  46. 46. se mostrará por delante de todo.Lógicamente unaimagende este tipodeberserparcialmente transparente paraque tega algunautilidad. Distribuir tu juego Con lainformaciónde loscapítulosanterioresyapuedescreartuspropiosjuegosyal acabarlos querrásque otros lojueguen.Puedespasarlesel .gmkque creaste paradejarlesjugar,pero normalmente esonoesloquieresporque te podríanmodificarel juegoynecesitarían instalarGameMaker. Por eso,deberíascrearun ejecutable que funcionesinnecesidadde GameMaker: Crear unejecutable esmuyfácil.Enel menú Archivo(File) seleccionael comando Crear ejecutable (Create Executable),ponle unnombre al archivo,pulsa OKy ya tieneslistoun archivo.exe que le puedespasaraquienquieras.Puedescambiarel iconodel ejecutable enlas OpcionesGeneralesdel juego (Global Game Settings). Puedesdistribuirlibremente estearchivoporcualquiermediooinclusovenderlo,esto últimoasumiendoque todoslosrecursos(imágenes,sonido,fondos...)sontuyosopueden serusado enproyectoscomerciales,lee losacuerdosde licenciade cadaunode ellos. Suele serútil comprimirel ejecutable enun.zipjuntoconunarchivo de información leeme.txtoinclusocrearuninstaladorparatu juego.Hay recursosgratuitosenInternet para realizarestastareas. Si quieresque muchaspersonaspruebentujuego, tambiénte recomendamossubirlo al sitioweb de YOYO GAMES,enla sección Compartir (Share) opublicarlocomotemaennuestracomunidad de taringa APRENDIENDO GAME MAKER FACILITO subiendoel game a MEDIAFIRE.

×