Superficies básicas (GML Game Maker)
Cursos
Acceder Regístrate Login
PRINCIPIANTE
INTERMEDIO
EXPERTO
GRATUITO
PREMIUM
TODOS
Esta entrada forma parte de mis apuntes sobre Game Maker Básico que realicé durante mi aprendizaje a lo largo del 2015 y que he decidido liberar para compartir con todos vosotros por si a alguien le sirve. Puedes descargar el código final del ejemplo aquí.
Cuando Game Maker dibuja algo no lo hace directamente en la pantalla, sinó que crea una superficie llamada application surface. Esta superficie es básicamente un canvas en blanco (como el de javascript) que GMS maneja automáticamente.
Sin embargo su potencial recae en la posibilidad de crear tus propias superficies y utilizarlas para añadir efectos especiales a los juegos, para manipularlas como si fueran texturas, para crear sprites dinámicos de la pantalla o complejas capas superpuestas, etc.
Las cuatro reglas para utilizarlas son:
Las superficies son capas volátiles guardadas en la memoria de texturas y pueden desaparecer al minimizar el juego o perder el foco, por lo que es necesario implementar siempre algun tipo de código anti fallos, por ejemplo haciendo uso de la función surface_exists.
Las superficies requieren grandes cantidaded de memoria de textura por lo que hay que mantener su tamaño lo más pequeño posible. A poder ser deben ocupar una porción de la pantalla total o como mucho ese tamaño.
Las superficies en la medida de lo posible se deben dibujar en el evento draw ya que ese es el momento óptimo que el sistema dibuja la pantalla.
Cuando se dibujan superficies manualmente éstas siempre tienen la posición 0,0, por lo que hay que transformar sus coordenadas absolutas en las coordenadas locales de la superficie.
El uso básico es el siguiente:
Primero se crea una superficie y se asigna su indice a una variable.
Entonces se establece la superficie como la capa actual en la que hay que dibujar, en lugar de la capa por defecto de GMS.
Una vez se ha realizado el dibujo que se requiere se reinicia la superficie a la de GMS para que continue dibujando su contenido. Es posible asignar una superficie a una vista para utilizarla explícitamente con view_surface_id[0…7].
Más información en la docu oficial .
Para este ejemplo voy a realizar una pizarra donde al apretar el ratón se podrá dibujar encima. Lo haré creando una superficie tal como se explica en el videotutorial de HeartBeast aquí en Youtube .
Recopilación ejemplos descargables
Videotutoriales Game Maker: Studio
Programas para crear videojuegos
Introducción a la programación
Introducción a Game Maker D&D
aprendegamemaker.com
docs.yoyogames.com
comunidadgm.org
Acerca de
Blog
Contacto