El editor de timelines de Game Maker Studio 2
En nuestro juego nos puede interesar que ocurran cosas en momentos determinados del tiempo. Ya sea un enemigo final que tenga unas determinadas rutinas, o un objeto que vaya creando enemigos, se podría hacer por alarmas, pero seguramente la programación puede complicarse, además del límite de 12 alarmas que puede tener un objeto.
Afortunadamente, Game Maker Studio 2 nos permite la creación de timelines o líneas del tiempo, que nos ayudará a especificar que acciones deben ocurrir en determinados momentos del juego, y se pueden utilizar todas las acciones que quieras en ese momento.
Vamos a ver un ejemplo. Imaginamos que tenemos un guardían, que tiene que hacer 30 pasos a la izquierda, 10 hacia arriba, otros 30 hacia la derecha y finalmente 10 hacia abajo. Con un timeline es muy fácil de hacer, empezamos en el momento 0 para que se mueva hacia la izquierda, en el momento 30, cambia hacia arriba, en el step 40 hacia la derecha y así hasta hacer todos los movimientos. Luego solo tienes que asignar este timeline al objeto guardian en cuestión.
Para crear una timeline, puedes hacerlo desde la opción del Árbol de Recursos. El editor de timelines tiene el siguiente aspecto
Veamos las 3 secciones que tiene.
Name – nombre
Aquí le damos un nombre al recurso del tiempo. Como siempre con todos los recursos de Game Maker Studio 2, el nombre debe ser alfanumérico (acepta letras y números, pero no puede empezar por un número) y puedes usar el guión bajo _. El nombre que le des a la línea del tiempo debe ser único en todo el proyecto, yo suelo usar el prefijo tm_ para que me ayude a identificarlo.
Moment – momento
Los momentos se definen como los pasos o steps del juego. Si hemos definido que nuestor juego funciona con 30 steps por segundo, y definimos un momento como 60, cuando se inicia la línea del tiempo y pasen dos segundos se lanzará las acciones de ese momento. Si hacemos doble click en ese momento podemos cambiar su valor.
Para añadir un nuevo momento, simplemente le damos al botón Add. Si añades nuevos momentos, se abrirá la ventana de código para añadir acciones Drag&Drop o código GML. También puedes eliminar un momento con el botón Remove.
Moment name – nombre del momento
Para ayudar a entender lo que hace un momento determinado, podemos darle un nombre para identificarlo. Simplemente es una cadena de texto que no usará ni en el juego ni en en otro lugar. Puedes cambiarlo haciendo doble click encima del nombre.
Menú contextual de los TimeLines
Si pulsamos un momento de un timeline, podemos seleccionar un rango con la tecla <Mayus> + click izquierdo en otro lugar de la lista. También puedes seleccionar manualmente varios con <Ctrl> + click iquierdo.
Si pulsamos botón derecho, nos aparecerá un menú con un montón de opciones. Vamos a erlas en detalle.
- Add – añadir: todos los momentos se añaden al final. Por ejemplo, si el último es el 220, el que se añade valdrá 221. Para cambiar el orden, haciendo doble click y cambiando su valor es suficiente.
- Edit – editar: abre el momento actual.
- Change Moment – cambiar momento: cambia el momento seleccionado, al igual que si haces doble click.
- Change Description – cambiar descripción: cambia el nombre descriptivo del momento. También puedes hacerlo si haces doble click lento.
- Duplicate – duplicar: duplica los momentos seleccionados y los coloca al final de todo. Al duplicarlos nos llevamos las acciones de cada uno de ellos.
- Merge – unir: si seleccionas dos o más momentos los puedes fusionar, dónde todas las acciones aparecen simultáneamente.
- Remove – eliminar: elimina los momentos seleccionados.
- Cut / Copy / Paste – cortar / copiar / pegar: esta opción permite cortar, copiar o pegar uno o más momentos del timeline. También puedes usar <Ctrl>+<X>, <Ctrl>+<C> y <Ctrl>+<V> respectivamente.
- Select All – seleccionar todo: podemos seleccionar todos los momentos de una línea del tiempo, para poder hacer las acciones que hemos comentado antes.
- Convert to Drag and Drop / Code – convertir a Drag&Drop / código: cuando creamos un proyecto, decidimos el método que vamos a utilizar para codificar las acciones, si usaremos acciones predefinidas para arrastrar y soltar o si escribiremos código GML. Con esta opción podemos convertir de uno a otro, y viceversa.
Resumen final
Hemos visto como funcionan los timelines, los han simplificado para que sean más fáciles de usar visualmente, aunque en el fondo son muy parecidos a como siempre se han usado. Ya me diréis si os resulta útil la información, y hablaré del editor de objetos en el próximo post.
Ya vimos como crearlo, pero al aplicarlo ¿donde lo aplico para que funciones?
Puedes usar la acción Drag and Drop de Set TimeLine
Set Timeline
si en la acción haces un GML Preview con el botón derecho, verás el código en GML