Contenido del curso
Creando un enemigo
- 5

Fluxograma de estados do personagem no GameMaker
10:13 min - 6

Cómo preparar sprites de un enemigo en Game Maker
05:31 min - 7

Diseño de estados para un enemigo en GameMaker
04:57 min - 8

Persecución de enemigos con lengthdir
12:12 min - 9

Alarmas en GameMaker para controlar ataques
05:55 min - 10

Balas enemigas con dirección dinámica en GML
15:57 min - 11

Sensor de ataque en GameMaker paso a paso
10:15 min
Persistencia de objetos
Porting
Scripts reutilizáveis no GameMaker
Resumen
Si estás aprendiendo a desarrollar tu primer videojuego en GameMaker, llega un momento en que repetir el mismo bloque de código en varios objetos se vuelve un problema. Los scripts en GameMaker resuelven justo eso: te permiten reutilizar código en distintos objetos y mantener tu proyecto limpio.
Esto es clave si vienes del primer curso de creación de videojuegos y quieres dar el siguiente paso hacia mejores prácticas de programación.
¿Qué son los scripts en GameMaker y por qué importan?
Un script es un bloque de código independiente que puedes invocar desde cualquier objeto de tu proyecto. En lugar de copiar y pegar la misma lógica en diez objetos distintos, la escribes una sola vez dentro del script y la llamas cuando la necesites.
¿Para qué sirve un script en GameMaker? Sirve para encapsular código reutilizable, como la lectura del teclado o la recolección de inputs, y llamarlo desde cualquier objeto sin duplicarlo.
La ventaja real aparece cuando necesitas cambiar algo. Imagina que la tecla derecha la quieres mover a otra tecla: si tienes el código repetido en diez objetos, tienes que editar diez veces. Con un script, modificas una línea y el cambio se propaga automáticamente.
¿Cómo crear tu primer script para capturar el input del teclado?
Dentro del proyecto que ya abriste, ve a la carpeta de scripts, da clic derecho y elige create > script. Nombra ese archivo siguiendo una convención clara, por ejemplo scr_getinput. El prefijo scr_ te ayuda a identificar de un vistazo que se trata de un script y no de un objeto o sprite.
Dentro del script vas a mover toda la lógica que antes vivía en el evento step del obj_player. Empieza con un comentario usando dos diagonales para dejar claro de qué trata el bloque, por ejemplo keyboard input, porque más adelante quizá integres otro tipo de input como gamepad o mouse.
¿Qué variables debes definir dentro del script?
Dentro de scr_getinput vas a crear cuatro variables, una por cada dirección. Cada variable guarda lo que devuelva la función keyboard_check, que retorna verdadero o falso según si la tecla está siendo presionada en ese instante.
- right asociada a vk_right.
- left asociada a vk_left.
- up asociada a vk_up.
- down asociada a vk_down.
Un truco útil: si quieres entender qué hace cualquier función de GameMaker, haz clic sobre ella y presiona F1. Eso abre la documentación oficial directamente desde el editor.
¿Cómo llamar el script desde el evento step del objeto?
Una vez creado scr_getinput, copia el nombre del script y pégalo en la parte superior del evento step de tu obj_player. Esa línea ejecutará el script en cada fotograma, es decir, 60 veces por segundo en condiciones normales.
Es como si todo el bloque que tenías escrito antes estuviera pegado ahí dentro, pero ahora con un código mucho más limpio.
¿Cuántas veces se ejecuta un script en el evento step? Se ejecuta una vez por fotograma. En GameMaker, esto suele ser 60 veces por segundo, lo que garantiza una lectura fluida del teclado.
Después, sustituye en tu lógica de movimiento las llamadas directas a keyboard_check por las variables que ya definiste: right, left, up y down. El comportamiento es exactamente el mismo que antes, pero ahora reutilizable.
¿Qué ganas al refactorizar con scripts?
Al mover la lectura del teclado a scr_getinput obtienes tres beneficios concretos:
- Tu evento step queda más legible y enfocado en la lógica del personaje.
- Puedes cambiar las teclas en un solo archivo y afectar todos los objetos que usen el script.
- Preparas el terreno para integrar otros tipos de input, como gamepad, sin reescribir cada objeto.
Esto es lo que en programación se llama encapsulación: aislar una responsabilidad en un solo lugar para que el resto del proyecto la use sin preocuparse por los detalles.
¿Qué sigue después de dominar los scripts?
Con scr_getinput funcionando, ya tienes una de las herramientas más poderosas de GameMaker Studio bajo control. El siguiente paso natural es revisar los estados del personaje y usar scripts para definir qué debe hacer tu personaje y en qué momento, apoyándote en una variable que controle ese estado.
Si te quedó alguna duda sobre cómo estructurar tu primer script o cómo conectarlo al evento step, déjala en los comentarios para resolverla junto al resto de la comunidad.