Taller de plataformas 2D para GameMaker | 3D Tudor | Skillshare
Buscar

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Taller de plataformas 2D para GameMaker

teacher avatar 3D Tudor, The 3D Tutor

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Taller de plataformas 2D para GameMaker

      4:05

    • 2.

      Introducción al creador de juegos Navegación por la interfaz

      13:13

    • 3.

      Diseñar una colisión de plataformas 2D y conceptos básicos

      14:42

    • 4.

      Domina los controles de los jugadores en Game Maker

      8:08

    • 5.

      Plataformas avanzadas que integran controles complejos

      12:22

    • 6.

      Configuración y configuración esenciales del editor de habitaciones

      10:54

    • 7.

      Técnicas de editor de salas Colocación efectiva de azulejos

      10:28

    • 8.

      Programación de enemigos, plataformas y objetos coleccionables

      14:55

    • 9.

      Implementación de efectos dinámicos Screen Shake

      9:26

    • 10.

      Mejora el juego con efectos de partículas

      13:08

    • 11.

      Implementar picos y transiciones de nivel

      15:15

    • 12.

      Configuración y efectos de la mecánica de finalización de niveles

      12:12

    • 13.

      Finaliza la mecánica de finalización de niveles en GameMaker

      7:23

    • 14.

      Animación para jugadores que da vida a los personajes

      14:44

    • 15.

      Mecánicas atractivas para los juegos

      14:13

    • 16.

      Diseñar una nueva estrategia e implementación para el enemigo

      15:41

    • 17.

      Integra las llaves y las cerraduras en el diseño de niveles

      16:12

    • 18.

      Una guía de diseño para crear púas retráctiles

      10:41

    • 19.

      Crea bloques fugaces para un juego dinámico

      8:43

    • 20.

      Diseño de sonido en Game Maker

      17:40

    • 21.

      Crea un menú Fundamento y diseño de una pantalla

      10:51

    • 22.

      Completa los elementos visuales y funcionales del menú

      14:52

    • 23.

      Configurar un juego atractivo en la pantalla

      12:35

    • 24.

      Finaliza la experiencia de Game Over

      9:47

    • 25.

      Estrategia y técnicas de diseño de niveles avanzados

      16:27

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

162

Estudiantes

1

Proyectos

Acerca de esta clase

¿Te apasionan el desarrollo de juegos, el pixel art o simplemente te encantan los juegos y siempre has soñado con crear tu propio juego de plataformas 2D de inspiración retro?

Acompáñanos en el taller de plataformas 2D de GameMaker para GameMaker, una clase completa de Skillshare diseñada para llevarte a través del emocionante mundo de la creación de juegos.

Esta clase es perfecta para cualquiera, desde desarrolladores de juegos, entusiastas del arte de los píxeles hasta aficionados a los juegos ansiosos por crear su visión única en una realidad jugable. Ofrece una inmersión profunda en los matices de la creación de plataformas 2D, combinando el desarrollo de habilidades técnicas con la expresión creativa.

 

Los 6 puntos principales sobre el taller de plataformas 2D de GameMaker

  1. Domina la dinámica de los personajes: sumérgete en la creación de controles de personajes receptivos y un movimiento inteligente de IA específicamente diseñado para los plataformas 2D, para garantizar que tus personajes se muevan e interactúen con el mundo del juego de manera realista y cautivadora.
  2. Diseño innovador de la jugabilidad: aprende el arte de diseñar mecánicas de juego únicas, como un sistema novedoso en el que el movimiento excesivo desencadena una explosión de robots dentro de los niveles, lo que agrega un giro emocionante a la estrategia y la experiencia del jugador en tu juego.
  3. Sistemas de progresión avanzados: desarrolla mecánicas de progresión sofisticadas con un sistema de objetos coleccionables para desbloquear nuevas áreas e introducir fichas de bloqueo, lo que exige a los jugadores que desarrollen estrategias para la colección de llaves para avanzar, lo que enriquece la profundidad y la capacidad de rejugabilidad del juego.
  4. Diseños de plataformas creativas: da rienda suelta a tu creatividad en el diseño de plataformas construyendo plataformas únicas, incluidas aquellas que permiten a los jugadores saltar desde abajo y otras que aparecen y desaparecen por arte de magia, desafiando a los jugadores y agregando variedad a tu juego.
  5. Animaciones y efectos dinámicos: eleva el atractivo visual de tu juego con configuraciones de animación completas para jugadores, enemigos, nuevas transiciones de nivel y sistemas de partículas atractivos para mejorar la atmósfera y la inmersión en el juego.
  6. Interfaz de usuario completa del menú y seguimiento de la partitura final: implementa una interfaz de usuario pulida del menú de inicio y un sistema de puntuación de fin de nivel que rastrea meticulosamente el tiempo de finalización y los recuentos de muertos, ofrece a los jugadores información sobre su rendimiento y fomenta la mejora del juego.

Imagina que te embarcas en una aventura en la que cada píxel palpita con vida, en la que cada salto es un salto a lo desconocido y en cada nivel es una historia que espera que te cuenten. Esta es la esencia de nuestro taller de plataformas 2D de GameMaker, donde darás vida a un mundo lleno de imaginación y desafíos.

 

Lo que aprenderás:

  • Fundamentos de GameMaker: familiarízate con la interfaz de GameMaker, aprende sus capacidades y descubre por qué es la herramienta preferida por los desarrolladores de juegos independientes.
  • Principios de diseño de juegos: diseña un plan completo para tu juego, desde la conceptualización de las mecánicas hasta la implementación de sistemas de colisión avanzados que dan vida a tu arte en píxeles.
  • Dinámica de los personajes: domina los controles receptivos de los personajes y el movimiento inteligente de la IA, para que tus personajes del juego interactúen con el mundo de manera realista y cautivadora.
  • Mecánicas de juego innovadoras: diseña elementos únicos de juego, como un sistema novedoso de agotamiento de la batería, que agrega profundidad y estrategia a la experiencia de tu juego.
  • Efectos visuales creativos: sumérgete en la creación de animaciones y efectos para mejorar el atractivo visual de tu juego, incluidas las animaciones de la muerte de los enemigos, los movimientos dinámicos de la cámara y los efectos de partículas.
  • Diseño de niveles avanzados: aprende a enfrentar los desafíos que implica diseñar niveles complejos con picos desplegables, obstáculos retráctiles y sistemas de llave y llave que enriquecen la profundidad y la rejugabilidad del juego.
  • Diseño de sonido y desarrollo de la interfaz de usuario: incorpora bandas sonoras y efectos para una experiencia auditiva completa y crea una interfaz de usuario personalizada para tu menú de juego para aumentar la participación de los jugadores.

 

Módulos de clase de Skillshare

 

El taller de plataformas 2D de GameMaker está meticulosamente estructurado para guiarte desde los conceptos básicos del desarrollo de juegos hasta la creación de un juego de plataformas 2D completamente funcional y visualmente impresionante. Aquí tienes un desglose detallado de la estructura de la clase, dividida en secciones clave para una experiencia de aprendizaje optimizada:

Sección 1: Primeros pasos con GameMaker

  • Lección 1: Introducción a GameMaker: navega por la interfaz
  • Lección 2: Diseña un juego de plataformas 2D: colisión y conceptos básicos

 

Imagínate esto: un robot solitario, un héroe de su propia historia, se aventura a través de un laberinto de plataformas y peligros. Sobre su cabeza, una batería se agota lentamente con cada movimiento, un recordatorio constante del reloj contra el que compiten todos los aventureros.

 

Sección 2: Domina la mecánica del juego

  • Lección 3: Domina los controles de los jugadores en GameMaker
  • Lección 4: Plataforma avanzada: integra controles complejos
  • Lección 5: Lo esencial del editor de habitaciones: configuración y configuración
  • Lección 6: Técnicas de editor de salas: colocación efectiva de azulejos

 

Este robot, tu creación, puede saltar y correr con gracia mientras navegas por un mundo repleto de enemigos que patrullan las plataformas. Estos enemigos no se pueden comparar con tus diseños inteligentes, porque con un salto en el momento adecuado, son vencidos y llevan a nuestro héroe hacia adelante con un rebote victorioso.

Sección 3: Mejora tu juego con funciones avanzadas

  • Lección 7: Programación de enemigos, plataformas y objetos coleccionables
  • Lección 8: Efectos dinámicos: implementación de un movimiento de pantalla
  • Lección 9: Mejora el juego con los efectos de partículas
  • Lección 10: Implementar picos y transiciones de nivel
  • Lección 11: Mecánica de finalización de niveles: configuración y efectos

 

Pero ten cuidado, porque los picos acechan en estos caminos, listos para terminar el viaje con un solo toque. Sin embargo, con ingenio, los picos se transforman en obstáculos mortales en desafíos emocionantes, algunos incluso emergen de los muros en un baile cronometrado que pone a prueba los reflejos y la resolución.

 

Sección 4: Da vida a tu juego con la animación y el sonido

  • Lección 12: Animación para jugadores: da vida a los personajes
  • Lección 13: Diseño de sonido en GameMaker: agrega profundidad
  • Lección 14: Te presentamos trucos de juegos: mecánicas atractivas
  • Lección 15: Diseñar un nuevo enemigo: estrategia e implementación

 

Y luego, las plataformas, ¡oh, las plataformas! Algunos invitan a nuestro héroe a saltar desde abajo y revelar pasatiempos secretos y tesoros ocultos. Otros aparecen y desaparecen, un desafío fantasmal que exige precisión y paciencia.

 

Sección 5: Elementos avanzados de juego

  • Lección 16: Integra las llaves y las cerraduras en el diseño de niveles
  • Lección 17: Crea espigas retráctiles: una guía de diseño
  • Lección 18: Crea bloques que desaparezcan para un juego dinámico
  • Lección 19: Implementar un sistema novedoso para el agotamiento de la batería

 

Los objetos coleccionables que se ven en este mundo, como chips de computadora brillantes, hacen señas. Reúnelos a todos y observa cómo se materializa un teletransportador, una puerta de entrada a nuevas aventuras y desafíos, cada nivel un paso más cerca del objetivo final.

Sección 6: Pulir y finalizar tu juego

  • Lección 20: Crea una pantalla de menú: base y diseño
  • Lección 21: Completar el menú: elementos visuales y funcionales
  • Lección 22: desarrolla un juego atractivo en la pantalla
  • Lección 23: Estrategia y técnicas de diseño de nivel avanzado
  • Lección 24: finaliza la experiencia de juego y el seguimiento de la puntuación

 

Pero no se trata solo de obstáculos y enemigos; se trata de crear un mundo que respire, un espacio que se sienta vivo.

 

Proyecto de clase:

En la sección final del taller de plataformas 2D de GameMaker para GameMaker, aplicarás todas las habilidades y conocimientos adquiridos durante la clase para crear un "paquete de baterías", un juego de plataformas 2D con muchas funciones. Este proyecto incluye el diseño de niveles dinámicos, la implementación de mecánicas de juego desafiantes, la creación de animaciones atractivas y la integración de elementos de sonido y de la interfaz de usuario para una experiencia de desarrollo de juegos completa.

Al final de esta clase, no solo habrás desarrollado un juego de plataformas 2D completo, sino que también habrás adquirido una comprensión completa del desarrollo de juegos con GameMaker. Este enfoque estructurado te asegura que aprendas las habilidades teóricas y prácticas necesarias para embarcarte en tus propios proyectos de desarrollo de juegos con confianza.

 

Para quién es esta clase:

Tanto si eres un principiante y quieres crear tu primer juego como si eres un desarrollador experimentado que busca perfeccionar tus habilidades en los plataformas 2D, esta clase está diseñada para apoyar a los estudiantes en todos los niveles. Con la orientación de expertos de Dan y un plan de estudios completo, estarás equipado con los conocimientos y las herramientas necesarias para dar vida a tus visiones de desarrollo de juegos.

 

Embárcate en este viaje creativo con el taller de plataformas 2D de GameMaker y transforma tu pasión por los juegos en una creación tangible. ¿Estás listo para desarrollar tu propio juego de plataformas 2D y unirte a las filas de los desarrolladores de juegos independientes?

¡Sumérgete y comencemos juntos en esta emocionante aventura!

 

Dan

Conoce a tu profesor(a)

Teacher Profile Image

3D Tudor

The 3D Tutor

Top Teacher

Hello, I'm Neil, the creator behind 3D Tudor. As a one-man tutoring enterprise, I pride myself on delivering courses with clear, step-by-step instructions that will take your 3D modeling and animation skills to the next level.

At 3D Tudor, our mission is to provide accessible, hands-on learning experiences for both professionals and hobbyists in 3D modeling and game development. Our courses focus on practical, industry-standard techniques, empowering creators to enhance their skills and build impressive portfolios. From crafting detailed environments to mastering essential tools, we aim to help you streamline your workflow and achieve professional-quality results.

We're committed to fostering a supportive... Ver perfil completo

Level: All Levels

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Taller de plataformas 2D para GameMaker: Hola a todos y bienvenidos al gamemaker a la plataforma D un taller Mi emoción está fuera de lista. A medida que llegue a presentarte este increíble viaje aquí vas a crear tu propio juego retro desde cero. Para aquellos apasionados por los juegos y la creatividad, has encontrado el lugar adecuado. Mi nombre es Dan el creador de este curso, y mi formación es en el desarrollo de juegos indie, el cual es extenso. Impulsado por mi pasión por crear juegos únicos, he perfeccionado mis habilidades en gamemaker y varios Es posible que te hayas encontrado con mis creaciones en tie to come juegos más que solo un codificador de desarrollador de juegos. También soy un artista de píxeles adaptables, que por cierto, también tenemos un curso sobre el que se llama Pixel Art Boot Camp Complete Two D Retro Game Master Class. Ahora te recomiendo que revises si estás más interesado en el enfoque artístico. Ahora estoy aquí para transferirte mis conocimientos de diseño de juegos y experiencia a ti. Entonces echemos un vistazo a lo que este curso tiene en la tienda. Comenzamos nuestra aventura con una Introducción a Gamemaker. Conocerás su interfaz y aprenderás por qué es una herramienta excepcional para el desarrollo de juegos. A continuación sentamos las bases. Mapearemos nuestro proyecto de juego. Y ahondar en colisiones, Desde colisiones básicas de caja hasta configuraciones más intrincadas que A medida que avanzamos a través de las lecciones para la diversión realmente comienza. Dominarás la configuración de instancias de objetos, elaboración de un fondo de teselas para nuestro juego temático espacial y la definición de límites de nivel jugables y la definición de límites de nivel jugables Te sumergirás en la edición de sprites y enriquecerás el atractivo visual de tus juegos Entonces es el momento de saltar a las plataformas de codificación. Estos no son sólo para estar de pie. codificarás para permitir que tu personaje salte desde abajo. Y también desarrollaremos mecánicas coleccionables que guían a los jugadores hacia su objetivo Animarás los ciclos de caminata del enemigo y las mecánicas de juego con cut antes de derrotarlos. A continuación nos centraremos en los efectos V para pixel art. Imagina crear cada animación de muerte y agregar efectos de movimiento de cámara para una experiencia más emocionante También comenzaremos a experimentar con efectos de partículas, creando una explosión de emoción cuando se enganchan colisiones y coleccionables Este curso luego aumenta con picos desplegables y animaciones al acecho Esos no solo aumentan la dificultad de nivel, sino que hacen que las transiciones sean más intuitivas, tanto para los niveles de desove elaboración de secuencias de muerte atractivas Luego haremos que tus juegos salgan espectacularmente gratificantes con efectos de partículas brillantes y un efecto de haz tractor cuando tu jugador salga Para aumentar la inmersión y la satisfacción del jugador, nos sumergiremos en la animación de personajes Aprenderás a crear animaciones de volteo basadas en la dirección de la marcha y a animar estados de inactividad y ejecución Aquí es donde tu juego realmente comienza a cobrar vida. En las siguientes lecciones abordaremos elementos más complejos. Elaborar un sistema de agotamiento de la batería que restringe Presentamos nuevos adversarios como una bola de púas oscilante, despliegue de un sistema de llave y cerradura, configuración de picos retráctiles y bloques de fuga para desafíos adicionales Incorpora bandas sonoras y efectos de sonido con herramientas como chip tone, construyendo una interfaz de usuario a medida para tu menú de juego Diseñar un juego impactante sobre la pantalla y última instancia, explorar diseño intuitivo de niveles y la introducción a la mecánica Su paquete de baterías de creación será un juego de plataformas de dos D lleno de acción Cuenta con un robot con una batería cada vez menor. Enemigos que pueden ser vencidos saltando sobre ellos, y diversos picos y plataformas Para agregar desafíos a los que vayas, animarás personajes y enemigos, diseñarás cautivadoras transiciones de nivel y embellecerás tu juego con efectos de partículas y efectos de partículas Al final de este curso, no acabarás de construir un juego increíble. Habrías obtenido una comprensión profunda de la mecánica de desarrollo de juegos. Y estarás listo para seguir creando e innovando en el apasionante mundo del desarrollo de juegos Entonces, ¿estás preparado para embarcarte en este emocionante viaje y crear tu propia y notable plataforma Two D. Vamos a sumergirnos y comencemos. 2. Introducción al creador de juegos Navegación por la interfaz: Bienvenido a Gamemaker Two D, Taller de Plataforma. En la lección uno, te voy a presentar a Gamemaker, la herramienta que vamos a utilizar para hacer de tu plataforma un juego Entonces con eso en mente, hagamos un juego. Ahora lo primero que voy a hacer antes sumergirme realmente en hacer un juego es presentarte la herramienta que vamos a usar , que es Gamemaker Anteriormente conocido como Gamemaker Studio. Gamemaker es principalmente un software de creación de juegos de dos D, aunque también se ha utilizado para tres títulos D en el pasado Y hay innumerables títulos bien conocidos hechos con Gamemaker que te voy a presentar Y no tengo ninguna duda en mi mente que cualquier jugador ávido habría oído hablar de al menos uno de estos Empezando por supuesto con Forager. Forager también está disponible en el switch, así como en varias otras plataformas Y estás en éste en dos D, mundo abierto Explorando, recolectando recursos y construyendo ese mundo. Por supuesto, ¿quién no ha oído hablar de Hot Line Miami? Un tirador de arriba hacia abajo con gráficos vanguardistas y algunos combates y combates despiadados. Esa es absolutamente brillante. También tenemos Nuclear Throne, un shooter de arriba hacia abajo, también conocido por su fantástico estilo pixel art. Y tenemos Hyper Light Drifter, de nuevo, maravilloso estilo Pixilart, un maravilloso juego de narración que probablemente hayas Tenemos Katana Zero, también disponible en Switch y PC Se trata de una plataforma de acción futurista de neón. Tenemos miel, me uní a un culto, un sim de gestión de edificios. Los Sims de administración de edificios son siempre opciones populares. Ahora estás construyendo y dirigiendo tu propio culto a esta manera humorística y linda de C. Y claro, probablemente uno de los juegos de gamemaker más famosos subyace a un hermoso juego de rol con estilos y sistemas gráficos únicos que como dije, estoy seguro de que todos habrían oído hablar Entonces, con eso en mente, vamos a mostrarte el mismo gamemaker cuando abres por primera vez gamemaker y hayas comenzado tu nuevo proyecto Esta es la pantalla con la que te van a presentar. Ahora bien, esto puede parecer ligeramente diferente a cuando lo ejecutas por primera vez, porque la tematización original es más de un tono negro y verde Pero, por suerte, tienes opciones de personalización. Todo lo que ves aquí es una cubierta atracable. Tienes tu navegador de activos aquí. También tienes diferentes capas, propiedades de habitación, todo eso. Todos estos son docables en diferentes estilos y formatos. Normalmente, el navegador Act está en el lado derecho, lo prefiero a la izquierda, así que lo he movido por aquí. Lo que también he hecho es hacer que el texto sea un poco más grande, solo para que sea más fácil de leer. Y he cambiado la fuente y los colores, pero esencialmente, cuando trabajas con Gamemaker, será exactamente lo mismo Puedes cambiar el tema hacia arriba, puedes cambiar las fuentes, puedes cambiar mucho de él. Y realmente se trata solo de cómo lo haces cómodo. Lo que realmente he abierto aquí es uno de mis proyectos existentes, un juego llamado Cookies y Cataratas, que es una plataforma de memoria Y lo que se te presenta aquí es tu espacio inicial. Ahora con este espacio, primero estás mirando lo que tienes en el lado izquierdo aquí, algunos favoritos. Entonces, si tienes algún activo al que quieras referirte con bastante frecuencia, es una buena idea establecerlos como favoritos. Un pedido de habitación. Ahora, voy a repasar qué habitaciones hay en esta lección. Pero el orden de las habitaciones explica en qué orden de aparición aparecen realmente, así como etiquetas. No tiendo a usar etiquetas, pero si quieres etiquetar cosas como tus activos para ciertos recursos, ciertas formas de organizarlos, puedes hacerlo. Y entonces tienes lo que efectivamente es un navegador de archivos. Ahora estas carpetas son predeterminadas, se les dan estos nombres para que puedas ponerlas fácilmente en diferentes categorías. Sin embargo, siempre puedes editar etiquetas. También puedes agregar grupos o carpetas tal como están, como los acabo de llamar. Y, por lo tanto, puedes mezclarlo de la manera que más te sientes cómodo. Ahora como digo, se trata de hacerlo más cómodo para ti y tu espacio de trabajo y cómo te gustaría hacerlo. Esto también está basado en tabuladores, tu espacio de trabajo, así que si tienes cosas diferentes en diferentes ventanas, siempre puedes hacerlo de esa manera también. Una vez que tenga un diseño con el que esté satisfecho, puede guardar ese diseño para que pueda consultarlo en todos sus proyectos futuros. Pero una vez que tengas tu espacio de trabajo cómodo, vas a necesitar saber con qué estás trabajando. Gamemaker es una plataforma todo en uno. Eso significa que todo lo que hagas se puede hacer dentro de los confines de Gamemaker Ahora con eso en mente, hay diferentes activos que formaron juntos para poner tu juego en una sola pieza. Ahora Gamemaker utiliza un lenguaje de programación llamado GM L. Tiene semblances muy similares a otros lenguajes de programación de los que quizás hayas oído hablar, si crees que somos como Python, ese tipo de ese tipo Son lo que llamamos lenguajes de programación orientados a objetos lenguajes de programación orientados a Orientado a objetos significa, como puedes ver aquí, tenemos objetos, una categoría Voy a cubrir todas sus bases de código alrededor de un objeto de trabajo. Pero antes de hacer eso, voy a repasar algunas otras piezas. ¿Qué es un juego, sin ninguna forma de imaginería? Eso es, bueno, probablemente una aventura basada en texto, pero casi todos los juegos tienen imágenes. Estos se conocen como sprites. Los sprites pueden ser cualquier cosa, desde tu personaje hasta las piezas de fondo cualquier cosa que forme un elemento visual para tu juego Con eso en mente, vamos a ampliar esta carpeta. Ahora como puedes ver, este juego cuenta con una encantadora anciana aquí. Lo he llamado SP. Otorgar. Esto se debe a que es una abuela que mira a la derecha. Y SP para sprite, es bueno obtener convenciones de nomenclatura porque cuando haces convenciones de nomenclatura, hace que sea más fácil hacer referencia en tu programación y simplemente mantiene las cosas mucho Sin embargo, de nuevo, esto depende completamente de usted. Se trata de tu espacio de trabajo y de cómo quieres que sea cómodo. Ahora bien, este es un sprite animado. Así que puedes ver aquí tiene dos cuadros. Se ejecuta a 22 fotogramas por segundo. Sólo para darle esa lentitud arriba y abajo, Bob. También puedes entrar en el sprite y tienes la capacidad de editarlo. Gamemaker tiene algunas herramientas de edición maravillosas. Aquí puedes dibujar tus propios sprites. Personalmente, dibujo los sprites en un programa llamado sprite Tal vez recuerdes que he hecho un tutorial de píxeles usando un sprite Pero está bien porque siempre puedes importar tu imagen si eliges hacerlo esa manera Ahora voy a entrar en otras cosas en lecciones posteriores. Pero por el momento solo te estoy presentando los elementos centrales de lo que conforma un juego. Más allá de todos nuestros sprites, entonces tenemos juegos de azulejos Ahora un juego de azulejos, puede que esté familiarizado con esto. trata de una imagen que se divide en un conjunto de imágenes que pueden ser utilizadas para ser efectivamente una pieza de fondo, decoración, plataformas, sean cuales sean, ésta se toma como una sola imagen y se divide en estos cuadrados. Ahora bien, este conjunto de baldosas en particular proviene de este sprite en particular Un sprite originalmente se importa así y luego se le asigna un conjunto de teselas Los juegos de azulejos no son esenciales, no tienes que usarlos, solo puedes tenerlos como sus propios sprites independientes Pero en estos días, especialmente si estás usando una plataforma RPG o lo que sea, podrías estar haciendo en esa línea, un conjunto de mosaicos suele ser bastante importante. Entonces por supuesto, tenemos Sonido. Como saben, un sonido es increíblemente importante. Echemos un vistazo a un sonido de caída. Eso es lo que pasa cuando te caes del escenario y mueres también. El sonido es mucho más importante en la forma de la música. No voy a tocar todo eso, pero la música te da la idea. Todo el audio entra, los sonidos a la mitad. A veces se utilizan. No los vamos a cubrir en esta lección, pero podemos explorarlos en otro momento. Scripts, Ahora, los scripts son donde usarás tu lenguaje GML He usado algunas aquí, puedes referirlas en varias partes de tu programación. Aquí vemos cómo es el lenguaje GML. Ahora, cuando estás usando GML y Gamemaker, automáticamente codificará por color ciertas cosas de diferentes maneras para que sea más fácil distinguir en, entre tu programación Ahora, también puedes pasar el cursor sobre las cosas para ver cuáles son las funciones y qué hacen No es esencial que sepas lo que hace este script ahora, porque este es un guión que he usado en un juego diferente, pero a modo de ejemplo, es simplemente un bloque de código. Y entonces lo que puedes hacer es referirte a él por su nombre, en este caso, restablecer array en un punto diferente de tu programación. Ahora, volveremos a visitar guiones en lecciones posteriores, pero por ahora ahí es donde están y eso es lo que hacen Fuentes, muy similares en la forma de una entrada visual, pero en este caso, como se sugiere, son tus fuentes basadas en texto. Entonces esto es si importas una fuente como esta fuente basada en píxeles aquí que he usado en este juego. Entonces podrás referirte a él como FN pixel small o como sea que lo llames Y luego puedes usarlo para dibujar texto en tu pantalla. Ahora en este caso, es un juego pequeño. Yo no usé muchas fuentes, pero usas tantas como quieras objetos. Ahora bien, este es el pan y la mantequilla de los juegos de azar. Esto es lo más importante absoluto, todos estos. Hay controladores, hay objetos sólidos, hay objetos de carácter, como el jugador. Esto es lo que pones en tus habitaciones. Voy a explicar habitaciones en un momento, pero digamos por ejemplo, el jugador. Se trata de programas orientados a objetos, Este es un objeto de un jugador. Son visibles, se manejan. Pueden ser sólidos en algunos casos, pero en este caso no lo son. Yo creo, por ejemplo, un objeto de pared. Oh no, en realidad no hice esto sólido. Quizá debería haberlo hecho. ¿ Yo hice esto sólido? No. Bien, mal ejemplo. Se pueden hacer algunos sólidos. Creo que el sistema de plataformas que utilicé en este juego no usaba objetos sólidos Pero es bueno para la física y ese tipo de cosas. También tenemos aquí los eventos que conforman los objetos. En este caso, cuando se cree este reproductor, llevará a cabo cierto código. De igual manera, un evento paso a cada fotograma, por ejemplo. Se realizarán diversas comprobaciones para hacer diversas cosas. Nuevamente, no es importante que entiendas lo que hace este código cubrirá la creación de código y cómo lo pones en tus objetos en lecciones posteriores. Pero es importante saber que todos estos eventos pueden tener lugar en cualquier objeto, para cualquier cosa, y ellos formarán la base de tu juego. Ahora GameMaker es una herramienta de desarrollo multiplataforma, por lo que puedes hacer gestos para juegos de Android, así como entradas de mouse y teclado Para la PC, también puedes usar controladores de juegos, pero eso suele ser un poco más complicado Normalmente, no necesariamente tienes que hacerlo, pero siempre puedes explorar esto. Y claro, tenemos cosas funcionales como lo que sucede en el juego. Arranca la habitación, empieza. La animación termina. Está todo aquí, y lo repasaremos con más detalle. Y por último, tenemos habitaciones. Por ejemplo, cada nivel es una habitación. Una pantalla de menú es una habitación. Básicamente es lo que mostrará lo que has hecho. Por ejemplo, si miro al nivel uno, este es yo es la habitación. Ahora puedes ver aquí tenemos instancias, otra palabra para objetos. Y todos estos se colocan en la habitación. Se resaltan cuando los selecciono. Y hacen varias cosas para hacer que eso cobre vida de manera efectiva. Ahora las habitaciones en sí son los diferentes niveles. Y también es una pantalla de enfoque, una pantalla de menú y una pantalla donde aparecerá mi logo para juegos de Tidekin. Y entonces esa es una habitación separada a la que Ben sale a su siguiente paso, que es el menú. Ahora hay extensiones. Gamemaker es muy versátil. Hay extensiones para varias cosas. En este caso, he usado un par aquí. Básicamente porque he hecho de esto un juego web. Cambié la barra de carga como una extensión para hacer eso y enfocar la ventana. Pero hay cientos y cientos de extensiones que puedes explorar para varias cosas diferentes. No vamos a estar tocando estos demasiado ya que vamos a estar usando los activos puros que Gamemaker ya tiene para nosotros. Pero estas son cosas a tener en cuenta ya que Gamemaker sí tiene su propio mercado lleno de tutoriales y diversas características de accesibilidad, y características agregadas que puedes considerar en el futuro Con eso en mente, así es como se ve Gamemaker. Ahora que has tenido una introducción, en la siguiente lección voy a estar mostrándote por dónde empezar a la hora crear tu propio juego. Así que estén atentos. 3. Diseñar una colisión de plataformas 2D y conceptos básicos: Bienvenido de nuevo a Gamemaker two D Platform Workshop. En la lección dos, voy a estar mostrándote cómo configurar tu primer proyecto. Entonces con eso en mente, comencemos la lección ahora. Cuando abras por primera vez el creador de juegos por primera vez, vas a ser recibido con esta pantalla Lo que tienes en pantalla aquí en este momento son diferentes proyectos. Mis proyectos recientes, pero vamos a estar iniciando uno nuevo. Y vamos a pasar por esto. En esta primera lección, te voy a explicar un poco sobre cuál es el juego que voy a hacer. En primer lugar, disculpe el hecho de que actualmente estoy desconectado, eso será ordenado. Tienes la opción de hacer un juego o un fondo de pantalla en vivo, curiosamente Pero obviamente vamos a hacer un juego. El juego que tengo en mente es una plataforma muy sencilla en la que juegas como robot en el espacio. Y lo que tienes que hacer es recolectar todos los chips de computadora para llegar al punto final y por lo tanto ganar el nivel. Con eso en mente, vamos a comenzar nuestro primer juego. Ahora la forma en que hacemos esto es haciendo clic aquí. Muy sencillo. Lo que vamos a hacer a continuación es crear un juego en blanco. Ahora bien, si no has iniciado gamemaker antes, es posible que te pidan que preguntes si estás usando codificación GML Visual o GML Ahora lo visual es un método de estilo de arrastrar y soltar, pero no vamos a estar usando porque es una buena práctica acostumbrarse al código y entender el método de codificación que vamos a estar usando básicamente para la totalidad del juego. Entonces claro, llegamos a escoger cómo lo vamos a llamar. Ahora tengo un pequeño nombre en mente. Voy a llamarlo paquete de baterías. Eso suena bastante tonto, pero lo que voy a hacer es explicarte la idea de este juego es no quedarse sin batería antes de que recojas todos los chips de computadora. Eres un pequeño robot. Tienes batería. No quieres quedarte sin ella. Ahora, es importante cuando estás haciendo un juego de plataformas, solo intenta pensar en algún tipo de pequeño artilugio Antes se han hecho muchos juegos de plataformas. Hay mucho que se ha hecho. Vamos a estar haciendo algo que tiene un pequeño artilugio para que destaque Básicamente, cuando estás haciendo por primera vez un primer juego, no necesariamente tienes que preocuparte por un artilugio Pero es importante pensar, si quieres hacer un juego comercialmente viable, algo único en él va a hacer que destaque. Pongámoslo en el escritorio por ahora. Y aquí la vamos a poner en esta carpeta. Vamos a seleccionar la carpeta escritorio. Vamos. Cuando te reciben por primera vez con tu espacio de trabajo en blanco, puede parecer bastante intimidante, pero no es un problema Primero vamos a entrar en diseños. Como expliqué en la introducción, tengo un layout que prefiero, que es este. Voy a acercar el zoom para que veas un poco sobre lo que está pasando. Y este es el sistema de organización. Ahora, ya he hecho algunos activos para este juego. Ahora lo que quieres hacer para obtener algunos activos es simplemente seleccionarlos como estoy haciendo aquí. Simplemente los trasladamos a sprites. Sprites es solo otra forma de decir imágenes. Es una imagen dentro de un juego, y los sprites se usan universalmente para todo dentro de un Es todo visual. Entonces como pueden ver, he dibujado una pequeña salida aquí. Entonces eso va a encenderse cada vez que se recojan chips de computadora. Ahora acabo de llamar al archivo exit, y cuando lo he importado arrastrándolo, ya se llama exit Queremos mantener cierto nivel de consistencia. Entonces voy a renombrar esta salida. La razón del ser es para sprite. Ahora no tienes que acatar esto. Sin embargo, es una buena práctica mantener un nombre y una convención cuando estás haciendo tus juegos. Generalmente hace que sea más fácil referirse a él en código. Y no quieres confundir cosas como tus sprites, tus conjuntos de mosaicos, tus sonidos, tus Porque si los nominas tal como son, como sabes salir. Y entonces tienes un objeto también llamado exit, va a crear un poco de problema. Ahora cuando tenemos un sprite aquí, este contiene todas las propiedades de ese sprite Lo que vamos a ver aquí es la máscara de colisión. La razón es que esto es lo que detecta la colisión. No el sprite real en sí sino este cuadro delimitador aquí. También podemos rebanar nueve. Ahí es donde puedes hacer algo más grande o más pequeño basado en un punto de ajuste y estira la imagen en consecuencia o en bucle. No vamos a necesitar eso en esta instancia, pero es bueno saber que está ahí. En este caso, voy a ajustar manualmente esto justo aquí abajo cuando detectemos una colisión. Va a ser justo con esta parte inferior. Ahora, el cuadro delimitador o la máscara de colisión como está aquí. Esos son importantes a tener en cuenta a la hora de hacer un juego, sobre todo con objetos de formas divertidas, particularmente picos, que te voy a mostrar momentáneamente porque pueden parecer bastante difíciles Si tienes, por ejemplo, una caja cuadrada grande y es solo una pequeña espiga, podrías terminar desencadenando accidentalmente una colisión Lo cual no necesariamente le parece justo a tu jugador porque en realidad no han alcanzado el pico. Con eso en mente, vamos a verlo en un momento. Pero First Computer chip, ahora esto es. Un cuadrado grande y viejo en blanco azul. Voy a llamar así a ese muro. Te mostraremos por qué en un momento. Porque este es nuestro juego de azulejos. Ahora vamos a usar mosaicos porque es más fácil que tenerlos como objetos individuales. Y voy a explicar más en una lección futura cuando estemos haciendo el diseño de niveles. Ahora esta voy a llamar a Spike ahora mismo, una máscara de colisión aquí como viste antes. Entré en esto y lo cambié a manual. Voy a mantenerlo automático pero donde tiene rectángulo aquí, voy a hacerlo preciso. Ahora bien, no queremos hacer demasiadas cosas con precisión comprobación de colisiones porque eso ralentiza la velocidad de procesamiento. Pero por el bien de unos picos, vamos a cambiar en realidad eso debería ser espiga izquierda no derecha, porque eso va a apegarse a la izquierda cuidado. Debería saber mi izquierda y derecha y esta es pincha derecha. La máscara de colisión otra vez va a ser precisa. Sí tenemos otras opciones pero esa parece ser una buena. Esto va a ser pico en la parte superior máscara de colisión que ves aquí, tenemos rectángulo de labios de diamante con rotación. Todos ellos pueden ser útiles en su propio mérito, pero en este caso solo necesitamos ser precisos, o un rectángulo como hemos visto antes. Voy a cambiar esa otra vez para precisar. Ahora bien, este es un gran fondo espacial, muchos efectos diferentes aquí. Es muy bonito. Te voy a mostrar por qué usamos eso más adelante en otra lección. Este es nuestro personaje, Tenemos movimiento y quedándonos quietos, nuestro pequeño tipo robot. Ahora idealmente queremos que se quede inactivo cuando no se mueve. Muévete así cuando esté. Lo que voy a hacer. Muy útil. Teclado tiza cortar control D. Ahora eso duplicará, en este caso, un sprite Cuando estás en una línea de código , también lo duplicará. Es un botón duplicado, es muy útil. Jugador ejecutar jugador. Todavía van a ser dos cosas muy importantes que necesitamos aquí. Además, puedes encontrar después de un tiempo, estás abrumado con todas estas ventanas diferentes, no puedes encontrar dónde está Puedes acercar y alejar usando la rueda de desplazamiento o los botones de Be aquí. Pero lo que voy a hacer es hacer clic derecho e ir cerrando todo menos esto, eso mantiene ordenado tu espacio de trabajo. Y luego tenemos el alambique y la fuga. Para la animación de carrera, voy a desplazar click y borrar el primer piso, cuatro fotogramas, dejando aquí solo nuestra pequeña animación de carrera. Para el quieto, voy a hacer lo mismo, pero con los últimos cuatro fotogramas los voy a eliminar. Entonces nos acercamos un poco, nuestra animación ociosa. Ahora voy a preparar los objetos. Ahora, habrá más sprites en el futuro a medida que nos expandamos sobre esto, pero en realidad solo tenemos una línea base, antes de agregar los objetos, voy a agregar un conjunto de mosaicos Si creo un juego de mosaicos aquí, y voy a llamarlo conjuntos de mosaicos TS, solo tengo el conjunto de mosaicos, así que solo lo estoy llamando juego de mosaicos. Ahora asignas a tu conjunto de teselas un sprite, que es el conjunto de mosaicos S. Como puedes ver ahora lo divide en este s encantadores 16, 16 trozos. Por supuesto, puedes cambiar el desplazamiento, la altura, el ancho y cualquier otro detalle que quieras. Si tienes, digamos, alguna separación entre los conjuntos de teselas o si estás trabajando con imágenes más grandes Pero en este caso sólo estamos trabajando con 16 16. Vamos por una vibra retro, así que eso le va a quedar bien a esta. Ahora lo que vamos a hacer a continuación es preparar nuestros objetos. Entonces, cuando crees por primera vez un objeto, creará esta caja. Ahora, gamemaker utiliza programación basada en eventos. Cada evento creando el objeto, destruyéndolo. Cada fotograma en los temporizadores, las alarmas como se les conoce, dibujan eventos. Eventos de mouse, gestos de teclado para teléfonos Android o IOS. Por ejemplo, colisión con otro objeto. Todos estos tienen su propio código y vamos a estar teniendo eso en mente. Lo primero que vamos a necesitar es un controlador. Ahora, un controlador es muy importante en un nivel, en un juego. Va en segundo plano, dibuja todas las cosas distintas, o en algunos casos controla cuándo comienza y termina un nivel. Pero el control es muy importante para todos los runnings de fondo no quieres que se interrumpan Si una cosa diferente como un jugador desaparece. Lo siguiente que vamos a configurar es nuestro objeto jugador. Ahí es donde continúa el platforming. Eso va a ser muy importante también. Y vamos a asignarlo a sprite. Nosotros hacemos eso, vemos que no tiene sprite. Hacemos clic en él. Jugador de Sprite todavía También vamos a preparar el objeto de pared. Ahora aquí es donde entra en juego esto. Ahora en vez de entrar aquí, también podemos arrastrar. Y déjalo caer aquí a un sprite sinusal y eso va a ser pared Ahora eso no va a ser visible, pero por ahora, lo vamos a mantener visible porque cuando esté haciendo el platforming, queremos verlo Sin embargo, cuando usamos los juegos de baldosas, no lo queremos en la forma en que eventualmente vamos a hacerlo invisible. Pero otra vez voy a explicar eso en otra lección. Pasando a partir de esto, también vamos a necesitar nuestro objeto pico O spike. Verás, estoy manteniendo la consistencia todos los objetos comienzan con todos los sprites comienzan con eso va a ser pico de fondo Ahora en realidad voy a llamar a eso fondo de pico. Lo que voy a hacer a continuación es hacer un nuevo objeto spike top. Ahora lo que tienes aquí es que esto va a actuar efectivamente exactamente igual que el otro sprite y el otro objeto La única diferencia va a ser el sprite real. En lugar de programar para cada objeto diferente, vamos a necesitar darle una. Darle un padre significa lo que le dé a este ya que el padre también afectará al niño, en este caso el pico superior. También voy a hacer lo mismo para izquierda y derecha duplicando esto y dándole un nuevo sprite El sprite izquierdo, puedes ver aquí el padre es la parte inferior Eso significa que siempre actuará exactamente de la misma manera que el fondo. Vamos a hacer lo mismo o este pico, ¿verdad? Y vamos a volver a asignarlo a diferentes sprites. De nuevo es el padre del sprite inferior. Ahora bien, si entramos en este objeto haciendo doble clic en él, hacemos clic en padre, puedes ver los hijos aquí, arriba, izquierda y derecha sprites Cualquier cosa que le haga a esto también afectará a ésta, ésta y a ésta. Es muy, muy útil para hacerlo como un poco de un atajo para que no tengas que cambiar el código cada vez por cada objeto sprite También tenemos aquí una habitación. Ahora esta habitación se llama por defecto habitación uno. Ahora voy a renombrar ese R nivel uno. Muy sencillo. Ahora las propiedades de esta habitación, se pueden ver aquí del lado derecho, voy a cambiar esto a 480 por 270. Eso es porque queremos, acabo de deshacerme de eso. Ahí vamos. Es un juego pequeño, queremos una baja resolución. Ahora hemos preparado un conjunto muy sencillo, un simple conjunto de cosas para trabajar. Un controlador, un jugador, una pared y picos. Vamos a agregar más cosas, y en realidad vamos a agregar la plataforma en código, pero por ahora tenemos nuestro juego configurado y listo. Cuando esté listo para guardar, por supuesto, puede usar el teclado, el control de atajos menos o el disgicon disquete aquí para guardar su proyecto Ahora ya verás si cierro esto. ¿Seguro que quiero salir? Sí, lo hago. La próxima vez que cargue Gamemaker, verás que nuestro proyecto está ahí Será en los proyectos recientes y podremos usarlo. Gamemaker se está cargando, ahí está, paquete de baterías. Yo hago clic en eso. Nuestro proyecto está aquí de nuevo y va a cargar lo que estuvimos trabajando por última vez porque ahorra el espacio de trabajo, lo cual es muy útil. No obstante, en este caso, vamos a cerrarlo. Cierra todo menos esto y también. Y entonces vamos a ahorrar así. Pero la próxima vez que abramos, aquí tenemos un nuevo comienzo, listos para trabajar en el código. Así que estén atentos para eso. 4. Domina los controles de los jugadores en Game Maker: Bienvenido de nuevo a Gamemaker two D Platform Workshop. En la primera parte de la lección tres, voy a estar mostrándote cómo configurar algún código de plataforma para que puedas empezar a hacer que tu personaje se mueva. Entonces con eso en mente, comencemos la lección de hoy. Ahora, en la última lección, sí montamos nuestra primera habitación. Pero en este momento no hay nada en esa habitación. Porque si ponemos a nuestro jugador en la sala, absolutamente nada va a pasar porque no están programados para hacer nada. Entonces con eso en mente, comencemos a programar algún código de plataformas Entonces como dije antes, Gamemaker es un programa basado en eventos Y es un programa basado en eventos y orientado a objetos. Vamos a necesitar algunos eventos. Ahora lo primero que vamos a hacer es nuestro evento de creación. Ahora bien, este es el código que va a comenzar cuando el objeto se crea por primera vez al inicio de una habitación, cuando tiene lugar un nivel, o cuando se crea en una habitación. Ahora lo que vamos a hacer aquí es definir una variable local. Ahora en Gamemaker, hay tres tipos de variables. Hay variables locales específicamente para un objeto en particular, que es lo que vamos a configurar. Hay variables globales, que son variables que tienen lugar a lo largo de todo el juego. Y hay variables específicas de eventos que no usaremos ahora pero que pueden venir a través de novo más tarde. Vamos a empezar a configurar nuestro código. Entonces lo primero que vamos a hacer es configurar una plataforma regional Configurar. Ahora las regiones son solo formas de poner en práctica el código. Entonces hacemos una región hashtag y una región final. Entonces podemos colapsarla y todo lo que necesitamos está aquí dentro. Vamos a empezar configurando algunas variables. Lo primero que vamos a montar es GRV, que es la gravedad Y vamos a establecer eso en 0.15 que es por cuántos píxeles caerá. Cada vez más a partir de ese punto, podemos hacer comentarios. Si hacemos dos guiones así, verás que cambia de color Esto es comentar la gravedad. Siempre es una buena práctica comentar tu código solo porque te mantiene informado sobre lo que hacen ciertos segmentos. Es muy útil cuando tienes una base más amplia de juegos para volver atrás y entender por qué has hecho lo que has hecho. El siguiente es HSP, y eso es cero. Por ahora, esa es la velocidad horizontal. También vamos a hacer VSP, y esto es la velocidad vertical Ahora vamos a hacer HSP caminar igual a uno, es decir velocidad de caminata Y vamos a hacer salto VSP. Si puedo escribir correctamente, disculpe. Ahí vamos. Menos cuatro y esa es la velocidad de salto. Ahora la razón por la que es menos es porque coordenadas de los creadores de juegos funcionan desde abajo a la izquierda. Entonces necesitamos que la velocidad de salto sea un número negativo para que suba en lugar de bajar. Esa es nuestra velocidad máxima. También vamos a tener una variable llamada power jump, eso es lo mucho que hay que saltar a estas alturas. Básicamente esa es una cantidad que va hasta menos cuatro. La razón es que no quieres tocar ligeramente la tecla de salto para un pequeño salto y hace el salto completo. Y luego vamos a hacer salto establecido como cero. Eso es básicamente si el jugador aún puede saltar, entenderemos por qué eso viene más adelante. Ahora en la mayoría de los juegos de plataformas, no solo tienes una situación en la que puedes saltar solo cuando estás en una plataforma. Existe un concepto llamado Coyote Time. Famoso de Looney tunes, Wiley Coyote. Donde saltará de la repisa y luego aún podrá saltar Ahora bien, esto hace que sea justo las personas que juegan el juego porque sienten que tienen ese pequeño segmento de habilidad para saltar, aunque de habilidad para saltar, sientan que se han caído del borde. Muchas veces hay un aspecto técnico de cómo debería funcionar un juego de plataformas, o cualquier juego de hecho. Y una justicia para que parezca más jugable para la gente que juega No queremos que la gente sienta que les robaron un tiempo de salto máximo es 14 Eso es Coyote Time max. Ahora podemos ajustar eso, pero 14 es apenas tímido de un cuarto de segundo. Porque los juegos en juego hacen una carrera por defecto a 60 cuadros por segundo. Y el contador real en sí mismo, que es el tiempo, ese es Coyote Time Entonces también vamos a hacer podemos mover iguales a verdad. Ahora bien, esto es un lingote, que significa verdadero o falso Ahora también tenemos variables numéricas. Aquí podemos establecer diferentes tipos de variables, pero típicamente variables verdaderas o falsas y variables numéricas son lo que necesitamos. Esta es nuestra configuración. Ahora necesitamos un evento llamado evento paso. Ahora un evento paso ejecuta cada fotograma individual. Esto, sin falta, ejecutará 60 fotogramas cada segundo. Todo un código que estamos a punto de hacer sucederá 60 veces por segundo. Vamos a empezar con otra región. Ahora bien, esto es clave definitoria. Esto es importante porque necesitamos que nuestros jugadores puedan personalizar las claves en algún momento. Es posible que necesitemos que lo hagan en las opciones del menú, o tal vez tengamos que hacerlo nosotros mismos si simplemente sentimos que las claves que elegimos no se sienten del todo correctas. Aquí es donde configuramos una variable específica de evento usando R. Vamos a hacer algunas de estas. Vamos a hacer K R. Eso va a comenzar por cero. Y vamos a hacer si el teclado chequea K, ¿verdad? Eso significa que si estás presionando la tecla derecha, también si el teclado marca R, D y luego una D mayúscula, eso también es para los controles. Si ese es el caso, entonces KR es igual a uno. Y vamos a hacer esto, vamos a copiar y pegar o nuestras otras claves también. Vamos a configurar variables llamadas para clave k l para clave izquierda y clave K D para tecla abajo. Y también lo vamos a cambiar aquí, tecla izquierda y tecla abajo. También vamos a asegurarnos de que estos sean equivalentes para arriba, para izquierda y para abajo. Y así mismo aquí vamos a hacer BK y vamos a hacer Kt y K abajo como nuestra llave puesta a punto. También vamos a hacer prensado también. Ya he copiado esto. Voy a copiar esto en. Pero esto es sólo para definir si se presiona la tecla. Teclado, comprueba, comprobaremos si la tecla está pulsada. Presiona el teclado, comprobaremos si la tecla solo se presiona una vez y la activará una vez. Eso también lo necesitamos para nuestro salto. He puesto espacio ahí en realidad en lugar de que voy a cambiar ese RD en realidad y comprobar el espacio del teclado, voy a deshacer eso porque vamos a mantenerlos a los dos. De hecho, aquí también lo haremos. Teclado, espacio K. Ahí tenemos múltiples opciones para llaves, y permite a los jugadores jugar de cualquier manera que se sientan más cómodos haciendo Entonces esa por lo tanto, es nuestra configuración inicial, pero vamos a hacer una pausa ahí mismo. Únete de nuevo a mí en la segunda parte. Hemos empezado a configurar el código de plataforma, y en esa parte vamos a juntarlo todo. 5. Plataformas avanzadas que integran controles complejos: Bienvenido de nuevo a Gamemaker two D Platform Workshop. En la primera parte de esta lección, te mostré cómo configurar algún código de plataforma. En esta parte, voy a estar mostrándote cómo armarlo todo. Ahora lo que tenemos que hacer ahora es la verdadera región de plataformas Plataformas, aquí vamos a acabar con esa región. Ahora en esta región, en realidad vamos a meter la carne y los huesos del propio platforming Aquí va a ser donde se pone bastante en profundidad. Vamos a empezar por asegurarnos de que podamos mover al jugador. Vamos a averiguar dónde movernos horizontalmente. primero es lo primero, si se puede mover es igual a verdad, siempre vamos a empezar con eso. Lo primero que vamos a hacer es tener nuestra velocidad HSP H igual a la clave derecha, menos tecla izquierda Eso o va a ser arriba o abajo, o izquierda o derecha. O va a entregar un 10 menos uno, dependiendo de lo que se presione. Entonces vamos a multiplicar eso por nuestra velocidad de caminata. Simplemente podemos ajustar eso en otro punto. Ahora después de eso, verás aquí que es esa cápsula entera ahí que vamos a hacer. Si puede mover es igual a falso, vamos a detener inmediatamente al jugador. Por lo tanto, tenemos movimiento horizontal. Ahora vamos a hacer movimiento vertical. Vamos a averiguar dónde movernos verticalmente. Esto es SP, la velocidad vertical es igual a la velocidad vertical más RV, o el valor de gravedad que establecemos. Ahora también vamos a asegurar que el jugador no pase por una pared. Si somos un signo de exclamación es que no están en un lugar reuniones es X e Y más uno El objeto Muro. Entonces el tiempo Coyote va a menos igual a uno Te tiempo equivale a Coyote diez max Ahora eso va a asegurar efectivamente que tengamos ese marco donde podamos saltar. El siguiente bit es el entrenamiento si debemos saltar. Por lo tanto, si el tiempo de coyote es mayor que cero, básicamente, siempre que estés en una plataforma, el tiempo de coyote se va a fijar al máximo, que hemos establecido Entonces a partir de un segundo, dejas la plataforma. Al igual que en, no te encuentras con un muro debajo de ti para coordinar y más uno. Si no hay muro inmediatamente debajo de ti, el tiempo del coyote empezará a bajar. Una vez que está en cero, no se puede mover si bastante tiempo está por encima de cero. Y cuando haces una condición, son dos símbolos ampersand, se presiona la tecla arriba Esto es, estamos aguantando y por supuesto podemos mover iguales verdaderos para asegurar que no nos hemos detenido para el movimiento, entonces vamos a establecer el salto establecido en uno. Esto va a asegurar que no sobrepasemos nuestro salto y vamos a poner el tiempo a cero solo para asegurarnos de que no golpeemos múltiples saltos al mismo tiempo Entonces no solo salta continuamente hacia arriba. Ahora con eso en mente, si no estamos presionando la tecla hacia arriba, entonces el conjunto de saltos también volverá a cero. Ahora bien, si el conjunto de saltos es igual a uno, es decir, si hemos permitido que se cumplan las condiciones de salto, entonces q tiempo va a ser igual a cero. La velocidad vertical va a ser igual al salto de potencia variable. El salto de poder va entonces a menos, por 0.85 menos iguales significa que bajará por esa cantidad Esa es una cantidad arbitraria. Además, vamos a poner una nota para los efectos de sonido de salto que básicamente asegurará que el efecto de sonido de salto se apague. A continuación, vamos a cerrar ese soporte y vamos a trabajar en el siguiente bit. Si el salto de potencia es mayor que el salto SP como en la velocidad máxima podemos saltar, entonces nos vamos a asegurar de nuevo, jump st es igual a cero, salto de potencia también es igual a cero. Esto asegurará que no volemos a volar hacia arriba otra vez. Si no estamos presionando el botón Arriba, entonces el conjunto de saltos también será igual a cero. Nuevamente, el salto de poder también será igual a cero. Ahora lo que puedes hacer es usar el punto y coma para tener múltiples instrucciones dentro de una sentencia if Por último, vamos a terminar con alguna colisión horizontal. Esto va a asegurar que no lo hagamos. Pincho contra una pared, por así decirlo. Quiere alinearse perfectamente con la pared. Vamos a poner colisiones horizontales. Ahora aquí establecemos nuestra propia variable específica de evento llamada one pixel. Vamos a usar un símbolo matemático llamado seno. Va a ser un seno de SP. Acabo de escribir un montón de galimatías ahí. Un pixel, ahí vamos, es igual a P. Ahora que es nuestra velocidad vertical arriba igual a menos uno y abajo es igual a uno. Eso es lo que eso va a devolver. Ahora en realidad eso es incorrecto. Eso es por nuestra colisión vertical. Volveremos a eso más adelante. Lo que realmente necesitamos es HSP sinusoidal. Hsp. Esa es una velocidad horizontal que en realidad va a ser para izquierda y derecha, no hacia arriba y hacia abajo, sino que volveremos a, solo vamos a asegurarnos de que dice que derecha es igual a uno y la izquierda es igual a menos uno. Esto en realidad es bastante similar a una pieza de código de Sean Spalding que también hace muchos makutoriales de juegos, pero está ligeramente modificado para permitir tiempo al Aquí vamos a comprobar si un lugar se encuentra en la variable horizontal. A la velocidad horizontal con la pared, vamos a estar comprobando si a la velocidad horizontal hay una pared a nuestro lado. Si la hay, vamos a asegurarnos mientras no estemos en el lugar justo al lado, como en la variable de un píxel que hemos definido anteriormente, un píxel en el mismo muro de coordenadas Y. Entonces vamos a aumentar nuestra X en esa cantidad de un píxel. Básicamente, esta es una forma de rotonda. Y entonces también vamos a poner a cero nuestra velocidad H. Entonces X es igual a X más nuestra velocidad horizontal. Esto efectivamente solo nos fuerza contra una pared para que no terminemos flojamente fuera de una pared Entonces vamos a verificar nuestra velocidad vertical de velocidad vertical, vertical. Esto se va a hacer de una manera muy similar. De hecho, he copiado esto de antes. De nuevo puedes ver nuestra variable, se establece un píxel y va a ser una señal de nuestra velocidad vertical. Si el lugar de encuentro es muro B, es muro. Si está a una velocidad vertical por debajo de nosotros, entonces nos movemos lo más cerca que podamos por esta variable de un píxel, Luego la restablecemos a cero. Eso acabará con nuestras plataformas. Con eso en mente, ahora tenemos una configuración de plataformas muy simple. También voy a, solo por el momento, establecer la velocidad de la imagen a cero. Esta es la velocidad de animación de nuestro personaje inactivo. La razón es que veremos efectos de animación más adelante. Pero por ahora, vamos a entrar en nuestro nivel ahora. Este es nuestro editor de sala. Puede que haya mucho pasando aquí y no se preocupe, voy a explicar más de ello en detalle en otro punto. Pero por ahora estoy configurando nuestra capa de instancias porque estos objetos también se conocen como instancias. Y voy a simplemente colocar algunas plataformas alrededor solo para que puedas hacerte una idea de cómo es esto. Ahora bien, este obviamente no va a ser nuestro nivel final, sino que solo nos da una idea por ahora de qué esperar. También podemos hacer mucha edición con los objetos, pero de nuevo, todo a tiempo por ahora. Sólo voy a mostrarte cómo se ve funcionando como puedes ver. Vamos a comenzar probando este ejemplo de plataforma en particular. En la siguiente lección, vamos a empezar a hacer algunos trucos más elegantes y diferentes consejos para que destaque y darle un poco más de vida al editor de sala. Entonces esto en realidad parece un nivel en lugar de solo un gran montón de líneas azules brillantes como si fuera justo antes de mostrarte, me doy cuenta de que hay un error en mi código al intentar hacer algo como esto que vale la pena señalar. Cuando sí intentemos ejecutar algo y esté malformado, nos dirá aquí dónde buscar lo que he hecho Se le olvidó poner ahí la coordenada y. Ahora, eso debería tener más sentido. Vamos a tratar de ejecutarlo. También necesitábamos cerrar el soporte. Pero nuevamente, te dirá si te has perdido un soporte o si te has perdido una discusión. Ahí es una práctica bastante común. Tenemos una plataforma muy pequeña con algunos saltos. Ahora bien esto sí se ve en este momento muy, muy minúsculo. Vamos a hacer algo un poco mejor que esto. Vamos a hacerlo un poco más grande. Solo voy a sacar la cabeza del camino porque necesito mostrarte muy brevemente las vistas, así es como se muestra realmente en pantalla Tenemos que habilitarlos. Lo que podemos hacer es asegurarnos de que esto sea visible. En primer lugar, sabemos que el tamaño de la habitación es de 480 por 270. El viewport, vamos a capturar 480 por 270. Pero entonces lo que vamos a hacer, esa es la cámara. Vamos a multiplicar este 480. Lo haremos tres veces más grande, 1440, que es 1440. Y el 270 por tres, es decir 810. De nuevo vamos a hacer este 810 aquí. Eso va a ser un poco más grande como aparezca en la pantalla, solo aparecerá un poco más visible a lo que ya tenemos. Ahora cuando lo ejecutemos, deberíamos ver uno mucho más grande. Ahí vamos. Mira eso. Ese es nuestro juego ya. Tenemos la plataforma. No me rompí, salté lo suficientemente grande como para cubrir eso. Se ve que me caigo. Pero eso está bien, porque hay mucho más por hacer. Pero por el momento, sí tenemos un motor de plataforma muy sencillo. En la siguiente lección, vamos a mirar el diseño de niveles y vamos a empezar a hacer algunas modificaciones solo para que realmente el juego destaque agregando algunos coleccionables y acercándolo a lo que tenemos en mente cuando empezamos con esta idea para unirnos a eso 6. Configuración y configuración esenciales del editor de habitaciones: Bienvenido de nuevo a Gamemaker dos D plataforma un taller. Voy a estar presentándote al editor de sala configurando tu primer nivel. Con eso en mente, comencemos la siguiente lección. Ahora en la última lección, empezamos con algún código de plataformas Ahora esta vez te vamos a mostrar el editor de sala. Ahora el editor de sala es muy interesante y es donde se desarrolla toda la acción en tu juego. Todo se lleva a cabo en una habitación. No hay juego sin habitación. Ahora, antes de comenzar, hay una cosa que necesito hacer muy rápido. Que es con esta pared tuve la orientación, el origen como centro medio. Ahora en algún momento de esta lección, voy a estar mostrándote juegos de mosaicos, pero los juegos de mosaicos están alineados en la parte superior izquierda. Vamos a estar haciendo lo mismo con nuestro objeto de pared para que se alinee. Ahora con eso en mente, abramos el editor de sala de niveles. Lo que ves aquí es editor de sala. Lo que voy a hacer es simplemente mover mi cara por aquí porque lo que realmente estamos haciendo es que vamos a estar mostrándote esta parte primero. Esta es la configuración de la habitación con una ventana gráfica en la cámara que configuramos la última vez Ahora por el momento se configura la ventana gráfica para que siga toda la pantalla Sin embargo, si tienes una habitación mucho más grande, puedes configurarla para que siga un objeto específico. También puedes establecer este borde para que siga al objeto cuando llegue al borde de la pantalla y la velocidad en la que se ponga al día. Sin embargo, como estamos haciendo todo un nivel de pantalla, para que todo el nivel sea realmente visible en un momento, no vamos a estar necesitando eso. Ahora cuando creas una nueva habitación, siempre te dará por defecto una instancia y una capa de fondo. Ahora estas capas son por defecto las que empiezas con las que empiezas. Sin embargo, puede agregar más capas de fondo, capas de instancia. Ahora las capas de instancias son donde pones tus objetos, Los objetos y las instancias son palabras intercambiables y gamemaker La capa de conjunto de teselas, la capa de ruta, no necesitaremos usar esta. Habrá una capa de Acto. No obstante, la capa Act en esta instancia, nuevamente, no necesariamente la necesitamos y hay una capa de efecto. La capa Act es básicamente para sprites. Entonces, si tienes algunos sprites en tu juego que quieres presumir, pero no necesitan objetos, no necesitan código, lo pondrías en este La capa de efecto agregará un efecto a todo lo que esté debajo de ella. Sin embargo, lo que primero vamos a hacer es crear algunos objetos marcadores Ya tenemos nuestros picos. Vamos a crear, en primer lugar, un nuevo objeto para nuestro chip de computadora. Como antes, nos estamos apegando la convención de nomenclatura y llamándola chip de computadora Y estamos asignando sprite, El siguiente es el enemigo Ahora el sprite enemigo sí agregué justo antes de que comenzara la lección Este pequeño de aquí, va a trabajar de manera similar para decir como un Cooper de Mario. Y eso va a caminar por la plataforma. Nuevamente, no vamos a configurarlo ahora mismo, sino que vamos a configurar un marcador de posición para ello Y vamos a darle sprite arrastrándolo aquí. También vamos a configurar nuestra salida de salida, eso también va a tener sprite Ahora de nuevo, el origen aquí está en el medio. Voy a poner esto porque es 18 alto. Vamos a colocarlo en la parte superior izquierda, luego hacia abajo por dos para que se alinee a la cuadrícula de 16 por 16 Ahora aquí es donde comienza la diversión, cuándo. Como pueden ver en la última lección, coloqué aquí varios objetos. Puedes hacer clic en ellos. Los haces doble clic para entrar en sus propiedades. Y tienes una variedad de propiedades aquí. Su posición, su escala, la velocidad de la imagen, si se trata de un fotograma de animación. También puedes editarlos si tienen alguna variable incorporada o si quieres cambiar el código, puedes hacerlo aquí. También tienes más opciones si querías voltearlas o rotarlas. También puedes arrastrarlos igualmente así para cambiarlos y para cambiar la varrotación, pero no vamos a estar haciendo eso Voy a hacer clic en eliminar. Para eliminar esto, puedo mantener el control y seleccionar varios. O puedo mantener turno y seleccionar tantos como me gustaría aquí. En este caso, vamos a empezar de nuevo y lo primero que vamos a hacer es establecer un fondo Los fondos provienen de sprites. Ahora recuerdas que sí tenía un fondo espacial aquí. Lo que voy a hacer, como pueden ver, hay diferentes propiedades. Voy a establecer la velocidad de esto a 0.2 Ahora se puede ver que en realidad va a animar. No obstante, se está cayendo de una pantalla. Para evitar eso, vamos a asegurarnos de que lo mosqueemos horizontalmente. Ahora. Verás unas fichas y hace un pequeño efecto encantador como este. Ahora lo primero que vamos a hacer es agregar nuestra capa de teselas. Ahora es importante darse cuenta de que la profundidad está ordenada básicamente cronológicamente, de arriba a abajo En realidad hay una profundidad aquí. La profundidad de fondo sería 200, la instancia sería cero incrementos por 100 Puedes ajustar esto manualmente e igualmente instancias, también puedes dar diferentes profundidades. Vamos a cubrir eso cuando hagamos el objeto de control, este controlador aquí. Pero por ahora nos vamos a preocupar por los azulejos. Voy a llamar a este de aquí. Voy a darle click derecho y voy a cambiarle el nombre, Azulejos Abajo. Ahora la capa de instancias, va a estar donde. Ahí va a ser donde pongamos todos nuestros objetos. Y luego vamos a crear una nueva capa de teselas aquí para las teselas de arriba. Ahora eso solo va a crear algunos efectos divertidos. Ahora, cuando hacemos diseño de niveles, hay varios enfoques que podemos tomar. Me gusta pensar en el enfoque de Mario, donde cuando se introduce algo, se introduce primero en un ambiente seguro, luego se introduce en un entorno que plantea riesgo, y finalmente se introduce de una manera diferente. Ahora lo que podemos hacer con eso es que podemos usar nuestro juego de baldosas para comenzar a formar nuestro nivel. Si tuviéramos que, por ejemplo, empezar por poner aquí los mosaicos, lo que realmente podemos hacer es entrar en el editor de sala. Se puede ver que tenemos acceso completo a estos mosaicos. De hecho, lo que primero voy a hacer es crear un conjunto de mosaicos separado llamado Fondo. Ahora la razón es que he usado el mismo juego de mosaicos y este lo vamos a usar solo como pieza de fondo. Voy a rellenar esto por ahora. Tenemos diversas herramientas aquí como un rectángulo entero. Ahora eso va a parecer bastante poco atractivo, pero lo cambiaremos También podemos, por ejemplo, tener una pieza de línea aquí. Queremos que tenga un segmento un poco interesante. Queremos que se cruce barra, pero antes de eso vamos a empezar por las paredes Vamos a hacer un nivel muy sencillo, porque este va a ser el primero. Lo que vamos a hacer es empezar por poner nuestras instancias en, y luego vamos a empezar a superponer el fondo para colocar una instancia Lo arrastramos y comenzamos a colocar muros. Eso va a llevar mucho tiempo. Si sostengo la tecla Alt, puedo empezar a colocarlos de esta manera. Ahora lo que vamos a hacer es asegurarnos el jugador se sienta cerrado para que no se salga del límite del borde. Entonces vamos a empezar a asegurarnos de que tenemos diferentes áreas a las que puedan saltar. En primer lugar, ahora puede que tenga que ajustar la altura del salto en esto porque me doy cuenta de que la altura del salto es muy baja. Pero vamos a comenzar por introducir un ambiente seguro. Vamos a hacer eso así ahora. Nuevamente, puede que necesitemos ajustar la altura del salto, pero ya tenemos esas variables establecidas, así que no va a ser difícil de hacer. El siguiente es que vamos a implementar el riesgo. En esta instancia, hay un hueco, puedes caerte. Por último, vamos a implementarlo de una manera diferente. Ahora en realidad lo que voy a hacer aquí es crear un nuevo objeto. Ahora esto va a ser de paso a través de pared. Ahora el muro de paso no funcionará todavía porque no tenemos código para ello. Pero le voy a dar una ligeramente diferente. Nuevamente, control D para duplicar. Vamos a darle a este un sprite de sprite diferente para que quede claro cuándo estamos editando No vamos a importar, en realidad sólo vamos a ir a editarlo. Hacemos doble clic en él y tenemos nuestro editor incorporado. Ahora prefiero usar el editor externo, un sprite, e importarlos yo mismo. No obstante, en casos como este, es muy fácil simplemente hacer un colorido muy simple. Y ese va a ser nuestro paso a través de la pared. Vamos a hacer esto e introducir un paso a través de la pared, que podrán saltar y luego se vuelve sólido de nuevo. Ahora lo que tenemos que hacer aquí es introducir nuevo la siguiente capa de riesgo, por así decirlo, haciéndolos saltar a través. Por último, vamos a agregar aquí un pequeño camino de salida. Ahora en este nivel, vamos a iniciar nuestro jugador aquí. Lo que tendrán que hacer es cruzar, cruzar, cruzar, arriba, arriba, arriba, izquierda, izquierda, izquierda y volver a bajar a la salida. Vamos a colocar de nuevo nuestra salida. Esto es, como digo, solo un marcador de posición. Ahora, se alineará con la cuadrícula que hemos establecido, pero podemos ajustar esa cuadrícula. Entonces vamos a ir ocho por ocho para que quede aproximadamente a mitad de camino Ahora vamos a poner eso realmente aquí abajo, y luego vamos a empezar a poner algunos chips de computadora en. Recuerda que la idea de este es que necesitan recolectar todos los chips de computadora para que la salida empiece a funcionar. Nuevamente, todo esto es algo que vamos a programar en otro momento de otra lección. Pero por ahora estamos presentando al editor de sala, pero voy a hacer una pausa ahí mismo. Únete de nuevo a mí en la segunda parte donde te mostraré cómo usar el editor de fichas para hacer que tu juego cobre vida. 7. Técnicas de editor de salas Colocación efectiva de azulejos: Bienvenido de nuevo a Gamemaker Two D Platform Workshop. Voy a estar mostrándote cómo usar el editor de teselas y colocar algunos activos en tu primer nivel. Con esto en mente, tenemos un nivel muy simple configurado aquí. Vamos a empezar a poner nuestros azulejos , el azulejo de abajo. Este va a ser nuestro muro. Ahora como pueden ver, esto en realidad vienen abajo, realmente no podemos ver lo que estamos haciendo. Voy a poner eso por encima de la capa de instancias por ahora. Podemos simplemente arrastrarlos y moverlos arriba y abajo y lo volveremos a poner después. Ahora, la parte de rellenar los azulejos, sólo vamos a asegurarnos de que esto sea variado. Este es solo un caso de hacer clic a medida que avanzamos y se rellenará automáticamente. Vamos a hacer esto ligeramente variado y vamos a tener un poco de variedad en el diseño de niveles. Entonces se ve un poco divertido, un poco único y un poco diferente. Es por eso que tenemos el azulejo puesto en su lugar porque como ve ahí, acabo de poner algo en el lugar equivocado. Puedo hacer clic derecho y eso lo borrará. Queremos que esto luzca peculiar, bastante diferente. Voy a tener algo como esto. Lo que vamos a hacer es simplemente rellenar esto a medida que avanzamos. Podemos auto azulejo. Hay opciones de teselas automáticas, sin embargo, en este caso, porque queremos que sea única y queremos que las fichas sean diferentes, no vamos a estar haciendo eso hoy. Pero si quisieras hacer un mosaico automático, cuando sacas tu juego de mosaicos, hay opciones para que hagas. Para que puedas entrar en mosaico automático. Esto es mejor para los juegos de rol en los que tienes baldosas de hierba y cosas así y quieres colocarlas automáticamente Pero en esta instancia, como digo, hoy no la estamos usando. Vamos a estar haciendo un poco de preparación aquí para que esto parezca un área mecánica peculiar e interesante Vamos a hacer esto simplemente colocando los mosaicos manualmente. Lo que estamos haciendo ahora es solo asegurarnos de que las paredes estén cubiertas. Entonces lo que vamos a hacer es empezar a trabajar en la pieza de fondo. Ahora las piezas de fondo van a ser las más entretenidas porque aquí sí tenemos algún nivel de decoración que va a ser una parte divertida. Empezaremos llenando el, todavía tenemos el rectángulo seleccionado. Podemos volver a cepillar si queremos. También tenemos estos paseantes azulejos ya diseñados. Voy a empezar a ponerlos en su lugar aquí. Nuevamente, esto es solo el azulejo. No va a hacer nada por sí solo. Pero es importante recordar que programaremos los mosaicos reales ellos mismos en algún momento en el futuro. Ahora bien, esto solo se está poniendo manos a la obra del editor de teselas. Ahora vamos a volver a poner esto y empezaremos a trabajar en los mosaicos de arriba. Ahora estos van a aparecer por encima del jugador. Esto solo va a agregar una sensación de profundidad a nuestro juego que queremos. Esto va a hacer que parezca un poco más involucrado, un poco más mecánico, y todo va a parecer que está encajando un poco más. Entonces vamos a poner cosas como esta rejilla aquí, vamos a meter una pipa para que tengamos todas estas cosas diferentes que nos van a ayudar a hacer eso. Nuevamente, todo esto es solo parte del mismo conjunto de mosaicos, pero como lo tenemos en diferentes capas, va a parecer que tiene un poco más de profundidad de la que realmente tiene. Y ese es el truco que podemos usar cuando estamos haciendo nuestros juegos. Entonces con eso en mente, vamos a empezar a poner nuestros azulejos aquí. Ahora todo esto, como digo, se ve muy mecánico, pero debido a un fondo de mosaico, vamos a poner un poco de, vamos a empezar simplemente haciendo las líneas y luego vamos a anular eso. Ahora eso parece un poco fuera de lugar ahí porque lo he colocado fuera de lugar. Vamos a entrar en el editor de Sprite porque eso se ve un poco tonto con esos dos puntos aleatorios Eso estaba destinado a ser una especie de perno mecánico, perno de acero por así decirlo. Nuevamente, usando nuestro editor de teselas, nuestro editor de sprites, podemos asegurarnos de que se mueva para que no sobresalga y se vea fuera de lugar Nuevamente, el editor de sprites que está integrado con Game Maker es muy bueno para ediciones muy simples Puedes usarlo para todo si lo deseas. Personalmente, preferiría usarlo solo para cosas más pequeñas y usar un sprite o alguna herramienta similar o real full en la edición de sprites Pero sí tengo un curso de edición de sprites usando un sprite y haciendo en imágenes de juego Si estabas tan interesado, no dudes en comprobarlo. Vamos a simplemente puntear estos al azar solo para darle un poco de vida, solo para que se vea un poco más animado. Aquí está la parte divertida. Este bit es transparente, así que aquí vamos a tener una ventana espaciosa Y vamos a empezar a poder ver los elementos del fondo espacial que colocamos debajo de él. Aquí es donde entra la profundidad. La clasificación a profundidad que ya hemos tenido, aquí es donde entra en juego. Vamos a poner un par de ventanas aquí, realmente hacer que se vea un poco más espacial. Ahora, cuando realmente ejecutemos el juego, vamos a encontrarnos con un problema. Pero te voy a mostrar lo que es y luego lo vamos a rectificar. Como pueden ver, aquí está nuestro problema. Aparte del hecho de que esto, esto en realidad es animador. Y no queremos que eso se anime. Queremos que aparezca como y cuando originalmente estaba destinado a permanecer oscuro por ahora. Y luego se iluminará cuando recojas todos los chips de computadora. Pero ese no es el problema. El problema más obvio aquí es que nuestras paredes son completamente visibles y eso quita lo que ya hicimos. Vamos a desmarcar la casilla visible, y también lo vamos a hacer para el paso a través de la pared mientras estamos aquí, si recuerdas la última lección tocamos los objetos padre Vamos a asegurar que el muro sea aparente de este paso a través. Eso significa que todo lo que pase por el muro también sucederá con el paso a través. Eso significa que si recuerdas el código de colisión, el código de colisión que involucra a la pared también ahora afecta el paso a través de la pared porque es hijo de la pared. Pero vamos a revisar nuestro editor de sala ahora que los hemos hecho invisibles. Y deberíamos ver que ahora son completamente invisibles y las fichas que hemos puesto debajo ellas serán la característica predominante, y van a ser la parte visible. Lo que vamos a disfrutar viendo y jugando, ahí vamos. Bien, vamos a pasar eso para que veas. Mira eso. Ese es nuestro primer nivel, al menos en teoría. Por el momento no va a funcionar muy bien. Aquí se ve un ligero inconveniente porque aún no lo hemos programado en. Como ves también nos caemos, pero no nos vamos a preocupar por eso. Sólo vamos a configurar y esta es la parte de la edición de niveles donde vuelve a ser una prueba y error porque estamos alineados a una cuadrícula de 16 por 16 para los mosaicos que necesitamos a punto de ser 16 por 162. Por cierto, podemos mantener control cuando estamos moviendo un objeto, y eso lo desalineará de la cuadrícula Pero estamos queriendo que esto esté alineado porque es bastante robótico. Queremos que sienta que el robot gasta. Aquí vamos a poner algunas fichas más. Vamos a poner uno ahí otra vez. Vamos a mover esto de nuevo a abajo, para que podamos ver lo que nos hemos perdido. Podemos ver que nos hemos perdido las fichas. Los vamos a poner aquí. En realidad, usamos una luz a uno para esa . Entonces vamos a hacer retroceder eso. Ahora se puede ver todo lo que tenemos una pared para lo que está cubierto. Esto también lo hace ideal para paredes invisibles. Si quieres hacer alguno, esos juegos donde tienes las fichas ocultas, acabo de caer ahí arriba. En realidad, me di cuenta que no viste eso, eso estaba en la otra pantalla. Mi error. Bien, ahí vamos. Vamos a cruzarlo ahora. Se puede ver. Ahí vamos. Comienza por introducirlo en un ambiente seguro. He recogido un chip. En teoría, todavía no lo he hecho, me he caído aquí. Creo que la forma en que se ve esto, es importante traducirlo correctamente a su público. ¿Qué significa, qué? Esto es probablemente demasiado obvio. Esta pieza de fondo de azulejo, voy a en realidad, puedes usar un atajo sujetando, puedes averiguar en qué capa está esta. Al otro lado es como la herramienta de colirios. Vamos a mover eso hacia abajo porque nuestro jugador no necesariamente sabe que aún no es una superficie transitable Seguro que han caminado por una pipa antes. Pero queremos traducir lo más posible cómo, qué es y qué no se puede usar. Y cómo podemos conseguir que esto se traduzca en la mente del jugador ya que no puedo caminar sobre eso. Queremos asegurarnos de que sea muy claro para el jugador para empezar. Ahí vamos. Eso también entra en juego a la hora de probar. Es importante que la gente vuelva a hacerse la prueba. Ahora, una vez que hayamos codificado en esa parte de paseo, eso va a ser mucho más fácil. Pero como pueden ver, eso ahora se parece más a un nivel, y eso es lo que queremos, el siguiente nivel. En la siguiente lección, vamos a empezar a armar lo que hemos hecho aquí. Vamos a empezar a usar el código de nuevo para hacer que algunas de las instancias aquí realmente hagan lo que queremos que hagan, en lugar de simplemente actuar como marcadores Y vamos a ir de ahí para empezar a hacer movimiento enemigo y algunos niveles más y algunas transiciones entre ellos. Así que estén atentos para eso. 8. Programación de enemigos, plataformas y objetos coleccionables: Bienvenido de nuevo a la plataforma Gamemaker two D, un taller. Voy a estar mostrándote cómo acostumbrarte a la codificación codificando algunas plataformas enemigas, y coleccionables En esta lección, vamos a cubrir algunas herramientas muy simples que podemos usar para hacer que nuestro juego cobre vida un poco. Lo que vamos a cubrir las plataformas que puedes saltar, para que se vuelvan sólidas cuando realmente estás encima de ellas, pero puedes saltar a través de ellas. Vamos a cubrir lo que sucede cuando recolectas un chip de computadora, que normalmente se vería como una moneda, un bono, un coleccionable, ese tipo de cosas Y vamos a cubrir el movimiento enemigo. Ahora por el momento, mayoría de estas cosas en realidad no hacen nada. Si atravesamos el paso a través de la pared, he hecho visible. Solo por el bien de la demostración, lo que voy a hacer es solo para tu referencia también, solo para que sepas, edité el juego de azulejos un poco, solo para que aquí tengamos alguna pequeña decoración agradable para que sepamos en qué nivel estamos. Pensé que sería un buen toque. Entonces, como puedes ver aquí, el juego de ti ahora tiene estos encantadores números pequeños. Pero eso está fuera del punto. Si vamos, por ejemplo, poniendo a, vamos a poner un poco de pared aquí. Veamos a través de salto a través de plataforma aquí. Ahora también voy a meter aquí al enemigo. Voy a ponerlo en esta repisa de aquí. Como pueden ver, ya tengo los chips de computadora salpicados por ahí. Te voy a mostrar cómo se ve en este momento. Por el momento, en realidad, los hice visibles. Pero vale la pena señalar también, porque los bloqueos reales son invisibles. No podemos ver la plataforma agregada que hemos agregado aquí. Parece que estamos flotando. Tenemos que arreglarlo. Recuerda, el azulejo de abajo, hacemos nuestras instancias invisibles debajo de la pieza, Estos son nuestros bloques reales. Vamos a editar esto un poco. Ahí vamos. Ahora también tenemos aquí la plataforma, que es la plataforma de salto a través. Voy a poner eso ahí. Ahora eso significa basado en el, el ancho de la plataforma, solo por el aspecto de la misma en general, pero es algo por lo que puedes pasar Muchas cosas sobre el diseño de niveles y el diseño de sprites es justo lo que estás comunicando con el jugador cuando te comunicas Una repisa delgada, normalmente vienes. Eso es algo por lo que puedo saltar. Con eso en mente, volvamos a hacer que nuestra capa sea visible de nuevo para que podamos ver. Y comencemos nuestra prueba real de cómo se ve sin re, codificación real o programación. Por el momento, esto no se comporta como debería. Nuestro enemigo no se mueve ni nos mata. Por supuesto, cuando saltas a un chip de computadora, no hace nada. Eso lo voy a demostrar ahora. Un momento. Mientras que en realidad le pegué play. Ahí vamos, ¿verdad? Voy a demostrar a lo que me refiero. Ves que esta plataforma no hace nada. No puedes saltar a través de él, no puedes recoger esto, nuestro enemigo no hace nada. Agradecidamente, las alosophias son cosas muy simples pero podemos hacer para que se vea mejor y realmente hacer que empiece a comportarse Vamos a deshacernos de esto por un segundo. Empezaremos con el paso a través de las paredes. El paso a través de las paredes es muy sencillo. Eventos de cada paso en cada fotograma. Aquí vamos a hacer una pieza de código muy simple. Lo que vamos a hacer es verificar si la posición y del jugador, que es o punto player player y es menor que la posición de inicio Y -12 Ahora la posición de inicio Y es un valor que se le da por defecto junto con x start a cada objeto. Con eso, mantiene la posición inicial al inicio de una habitación en la que has colocado el objeto. Si la mueves, este valor no cambia. El motivo por el que vamos a comprobar que uno es porque y -12 es por el offset. Si recuerdas, nuestro sprite de jugador está orientado al medio y ese es un origen 12 12 Así que lo vamos a mantener en -12 Lo que estamos comprobando aquí es que esta plataforma está por encima o por debajo, o empezó por encima o por debajo del jugador. El motivo es porque si está arriba, y será igual y start Else lo enviaremos camino fuera del escenario, 9999, por ejemplo Ahora esto sigue siendo visible. Podemos verlo en acción. Ahí vamos. Ahora lo puedes ver ahí. Puedes ver que se vuelve invisible cuando estás debajo de él. Y cuando saltas arriba, se convierte en una plataforma. Ahora por supuesto, la plataforma todavía está establecida en visible. Vamos a ajustar eso y hacerlo invisible. Pero va a tener el mismo efecto volviendo esto a invisible, seguirá teniendo el mismo efecto que tenemos antes, el mismo efecto que estás viendo. Ya puedes saltar a través de la plataforma. Eso es genial. Eso es todo lo que necesitamos que haga. Lo siguiente que vamos a hacer es con un chip de computadora. Ahora bien esta es una muy fácil. Vamos a hacer algunos efectos en una lección futura. Pero por ahora todo lo que tenemos que hacer es en un evento de colisión con el jugador. Sólo vamos a hacer una línea de código muy simple que es instancia, agradable y simple. Ahora cuando recojas el chip de la computadora, éste será destruido. Y luego cuando hagamos la salida en una fecha posterior, verás que comprobará si hay algún chip de computadora y si no los hay, entonces simplemente hará que la salida funcione. Vamos, ya podemos volver a recoger los chips de computadora, vamos a agregar efectos en una fecha posterior. Oh, no puedo dar ese salto. Algo a tener en cuenta cuando entramos en nuestro editor de sala. Hagamos posible ese salto mientras estamos aquí. De hecho, hagamos eso con uno de los saltos a través de plataformas. Si hacemos esto, esto está en nuestras fichas a continuación. Entonces en nuestras instancias, vamos a hacer que sea un paso a través de la pared. Agradable y sencillo. Cuando recojamos todos los chips de computadora, podremos realmente iluminar la salida. Ese es un efecto que vamos a hacer en un nivel posterior. Ahora por fin en este nivel, vamos a hacer el movimiento enemigo. Ahora el movimiento enemigo es bastante divertido porque lo que queremos que haga el enemigo es muy parecido a un soldado Cooper para Mario Queremos que empiece a caminar por ahí. Lo primero que vamos a hacer es crear una variable local y llamarla DR. Ahora vamos a darle uno de dos valores, elegir cero o uno. Ahora que elegirá aleatoriamente uno de estos valores. Podemos usar random random. Y hay diferentes formas en las que podemos seleccionar una variable aleatoria. Pero si son solo dos valores, así es una buena manera de hacerlo en el evento step. Ahora es aquí donde comienza el fondo. Empezaremos a programar algún movimiento en el evento paso. El primero que tenemos que verificar es el punto de colisión. Si punto de colisión, ahora puedes ver aquí cuando abrimos este punto de colisión tiene variables x, y, objeto, lo que está comprobando, la colisión cuatro precisa comprobación de colisión y si se incluye a sí mismo o no, porque sprite también está en el origen medio en un ocho por ocho, también necesitamos revisar ocho espacios adelante, x más ocho, y como es una pared Un verdadero preciso, no yo, falso. Vamos a comprobar si hay una pared, sólo ocho secciones a la derecha o si no hay piso debajo. Y vamos a hacer eso usando el signo de exclamación. Eso significa que si no hay colisión a las ocho por delante y a las ocho por debajo de la pared, recuerden que vamos de arriba a la izquierda tratando de usar en la parte superior izquierda y luego hacia abajo y las cámaras a la derecha al revés tratando de obtener eso de la manera correcta. Pero sí, empezamos arriba a la izquierda a las 00, así que necesitamos marcar ocho a la derecha y ocho debajo de la pared del objeto. Nuevamente, verdadera colisión precisa y falsa para no en sí misma. Si ese es el caso, se fijará en uno. Recuerda que sí tenemos este práctico control de herramientas D. Duplicar la línea. En este caso, vamos a cambiar ese uno a menos x menos ocho y este a menos x menos ocho. Eso luego comprobará a la izquierda. Y si no hay dónde chocar o va a chocar contra una pared, cambiará a cero Ahora si es igual a uno, entonces x o menos igual a 0.5 eso significa que cambiará relativamente por medio píxel. igual manera si es igual a cero, entonces x más es igual 0.5 Ahora veremos que tendrá algún nivel de movimiento. Ya veremos aquí en nuestro juego, está empezando a moverse de izquierda a derecha, ¿no es así? Pero si chocamos, todavía no hace nada. En la última parte de esta lección, vamos a asegurarnos de que haga algún nivel de colisión. Ahora eso viene del jugador en el evento jugador colisión con el enemigo. Éste de aquí. Vamos a poner algún código en las variables que ya tenemos. Pero hemos definido BSP para la velocidad vertical. Debe ser velocidad. Si te diste cuenta de eso y yo no, pero no tengo. De igual manera skep, eso también es velocidad. Perdón por los erratas que debieron de haberte estado matando si lo notas en la última lección Afortunadamente, esos son solo nuestros comentarios. Siempre vale la pena prestar atención a cualquier errata ya que siempre volverán a morderte si están en tu código principal Por suerte, esos fueron solo los comentarios. Si el VSP es mayor que cero, lo que significa que nos estamos moviendo hacia abajo Entonces dos por arenas juntas significan y para la comprobación de colisiones, lo siento, no la comprobación de colisiones. Comprobación de condición y otra Y -12 cuando usamos otra, lo que nos referimos es al otro acto. No estamos revisando todos los objetos enemigos, solo con el que estamos en colisión si ese es el caso. En otras palabras, si hemos saltado encima de él, entonces SP va a igualar repentinamente salto de SP, que hemos establecido en menos cuatro. Le dará un rebote satisfactorio en él. También con el otro objeto, vamos a destruirlo. Entonces usamos estos corchetes para definir todo lo que está sucediendo en el otro corchete. En el otro objeto. Cerraremos esto. Como puedes ver ahí eso está resaltado y demás. Ahora bien, si no tenemos nada más que hacer, vamos a poner aquí nuestro código de muerte. Ahora vamos a editar nuestro código de muerte. En otro punto, vamos a hacer algunos efectos agradables. Vamos a hacerlo bonito, vamos a reiniciar las habitaciones y las partículas, ese tipo de cosas, pero queremos conservarlo para después. Lo que vamos a hacer es llamar evento usuario cero. Este es un evento personalizado que aún no hemos usado, refiriéndose a inexistente Voy a configurarlo ahora. Básicamente, esto significa que cada vez que hay una secuencia de muerte, activará un evento de usuario cero. Ahora para usuario evento cero ahora mismo solo voy a hacer reinicio de sala. Eso reiniciará la habitación en la que estamos y hará que todo vuelva a la normalidad. De igual manera, haz algunas comprobaciones aquí. Si y es mayor que la altura de la habitación más 24, solo dale la oportunidad de caerse del evento cero. Lo mismo de nuevo, esto significa que siempre podemos llamar evento evento usuario cero. Siempre que exista la posibilidad de que el jugador haya muerto en el futuro, podemos volver atrás y editarlo para que podamos agregar algunos efectos bonitos y cosas. Pero por ahora sólo vamos a reiniciar la habitación. Si ves aquí rebotar del enemigo, sí salté por el agujero y muero. El siguiente, dejaré que el enemigo me golpee y ya me he muerto. Pero ahora me he caído del borde. En esta situación, tenemos un enemigo. Nos va a matar, o podemos matarlo. Lo que también podemos hacer es caernos del borde y también nos va a destruir. Ahora bien, esta parte de descripción aquí es muy útil para eventos de usuarios porque podemos escribir la secuencia de muerte de la Tierra que luego se mostrará aquí. Recordamos volver a referirnos a él. Ahora, justo antes de cerrar la lección, vamos a hacer algo con esta salida. Ahora vamos a establecer un evento step para que podamos verificar si los chips de computadora han sido recolectados. Si el número de instancia que cuenta cuántos chips de computadora hay igual cero, entonces el índice de imagen, básicamente eso se refiere a qué fotograma de la imagen, porque tenemos dos fotogramas, será igual a uno más, índice de imagen es igual a cero. Ahora eso está muy bien, pero recuerdas que estaba parpadeando porque está reproduciendo su velocidad de animación cuando se crea, vamos a detener su velocidad de animación ajustando la velocidad de la imagen a cero. Ahora intentaremos una prueba completa de este nivel solo para asegurarnos de que realmente podemos recolectar todo. Y funciona. Verás, ahora eso no está iluminado, aquí no pasa nada. Ahora evitemos a este enemigo. Vamos a ir por aquí recogiendo los chips de computadora con las plataformas por las que podemos pasar ahora. Entonces saltaremos sobre esto por aquí. Ahí lo tenemos. La salida ahora por el momento, eso es muy funcional, pero no tenemos mucho en la forma de efectos o fantasía, cosas bonitas para hacerla. Vamos a necesitar hacerlo en algún momento también. En la siguiente lección, también vamos a ver algunas cosas más que podemos hacer para que realmente este juego empiece a cobrar vida. Estén atentos para eso. 9. Implementación de efectos dinámicos Screen Shake: Bienvenido de nuevo al Taller Plataforma Gamemaker Two D. Voy a estar presentándote guiones y mostrándote cómo hacer un simple efecto de sacudida de pantalla. Así que bienvenido de nuevo. Ahora donde lo dejamos, tenemos aquí un juego muy sencillo. Y lo que tenemos es una forma muy sencilla de interactuar con enemigos, paredes y coleccionables Eso está todo bien y bien. Pero tenemos que añadir algunos efectos aquí. Porque por el momento se ve un poco plano, un poco como que le falta algún nivel de animación. Ahora, hoy no vamos a animar al personaje. Lo que vamos a hacer es simplemente agregar algunos pequeños efectos que podamos hacer para darle más jugo al juego . Lo primero es lo primero, comencemos con una muy sencilla. Cuando saltamos sobre el personaje, realidad no hace nada más que desaparecer. Lo siento, no saltar sobre el personaje. Salta sobre el enemigo. Entonces vamos a hacer un objeto enemigo muerto. Ahora esto va a adaptar el mismo sprite que nuestro enemigo. Y lo que vamos a hacer es asegurarnos de que tenemos la velocidad de imagen puesta a cero en esta. Y lo que vamos a hacer aquí, velocidad de la imagen es igual a cero. Y también vamos a establecer el índice de imagen 20. Esto hace una imagen plana, lisa y simple. Pero lo que vamos a hacer es establecer la escala y de la imagen en menos uno. Ahora esta voltea verticalmente la imagen. Ahora también queríamos salir de la pantalla, vamos a hacer eso fijando la gravedad en solo 0.1 Se cae lentamente y la dirección de la gravedad a 270. Ahora la razón por la que vamos a hacer eso es porque funciona en direcciones cardinales. En Gamemaker 270 es el equivalente a down. Entonces en el evento step, vamos a hacer esto si el valor y es mayor que la altura de la habitación más 24. Para darle la oportunidad de simplemente salir de la pantalla, entonces vamos a destruirla. Tan simple como eso. Ahora lo que vamos a hacer es ir a nuestro enemigo real y vamos a usar el evento destructor Entonces esto sucede cuando se destruye el objeto, que como recordarás de la última lección, sucede cuando chocamos con él Entonces, si nos fijamos en nuestro jugador, colisionamos con el enemigo con otra instancia destruir Ahí es cuando estamos saltando encima de ella. Cuando eso suceda, lo vamos a hacer es en el evento destructor, aquí vamos a usar instance create Ahora podemos crearla vía profundidad o capa, pero la forma más fácil en esta instancia es crearla vía profundidad. Vamos a crearlo exactamente en la misma ubicación. La posición x e y seguirá siendo la misma. Y la profundidad simplemente será la misma profundidad de valor que el objeto existente. Y vamos a crear objeto, enemigo muerto. Ahora lo que notarás aquí es cuando lo jugamos, ahora deberíamos tener un personaje o deberíamos tener un efecto que se produzca para que parezca que el enemigo se está cayendo de la pantalla cuando lo golpeamos. Si no me golpea, echemos un vistazo. Ahí vamos. Un efecto simple muy agradable. Ahora eso está todo bien, pero queremos hacer algunas cosas más. Entonces vamos a hacer un nuevo objeto y esto va a ser un efecto de sacudida de pantalla. Los batidos de pantalla son brillantes para agregar un poco de jugo al juego y solo lo vamos a llamar batido Ahora en el evento creativo, vamos a establecer algunos valores. Vamos a hacer shake x es igual a cero y shake y es igual a cero. Shake INT, esa es la intensidad igual a uno. Y agite len, la longitud de la misma equivale a uno. También vamos a establecer algunos valores x. eso va a ser cámara obtener vista x, cámara cero. Eso va a conseguir la exposición de la propia cámara. Vamos a duplicar esta línea usando el control D y configurarlo para cámara get y también. Ahora eso va a conseguir nuestras posiciones de cámara y establecerlas como variables locales. Ahora en el evento de paso, vamos a cambiar esto. Y lo que vamos a hacer es si la longitud del batido es igual a cero, simplemente vamos a poner shake x a cero y agitar y a cero, Y luego instidance destruir, porque no queremos que se quede por ahí cuando no lo necesitamos siguiente viene de si la longitud del batido es mayor que uno, mayor que cero, en este caso, shake x va a ser, Esto va a ser un poco de mapas aquí de la intensidad del batido dividido por dos más una cantidad aleatoria basada en la intensidad del batido. Ahora vamos a hacer eso también. Vamos a configurar el mismo para shake, y esa va a ser una cantidad aleatoria diferente así que parece que está sacudiendo la cámara. Entonces vamos a bajar la longitud del batido en uno usando menos es igual a uno. Y entonces vamos a cerrar eso. Entonces vamos a configurar la cámara equivalente a una vista de conjunto de cámara Po va a volver a ser vista cámara cero. Eso es porque configuramos la cámara cero para comenzar con la cámara de visión cero, la posición va a ser x, que es la posición original más el valor de shake que acabamos de establecer. Y lo mismo y, s más el valor de shake y que hemos establecido. Ahora eso está bien, pero ¿cómo conseguimos realmente estos valores? Aquí es donde nuestro primer guión entra en su lugar. Vamos a crear este script y lo vamos a llamar C shake. El guión va a funcionar así. Lo primero que vamos a hacer es establecer, vamos a establecer en esta descripción que debería verse así , tiempo e intensidad. Ahora puedes ajustar esto como quieras si quisieras agregar más variables. Pero esto va a ser muy simple los parámetros que vamos a usar, lo que haces por los guiones libres en param, y esto es un valor real del tiempo y así es el tiempo para Y la intensidad, que es la cantidad de sacudir. El guión en sí va a quedar así. Entonces vamos a establecer originalmente dos valores locales que van a ser, como ya dijimos, tiempo e intensidad. Ahora bien, estos valores locales van a entrar en uso cuando realmente lo configuremos todo. En realidad, solo por el bien de la simplicidad, porque INT puede ser malinterpretado, vamos a hacer subrayado intensidad Ahora lo que vamos a hacer aquí es establecer el número de instancia, y este va a ser el objeto shape acabamos de hacer, que es shake. Si ese número es igual a cero, si no existe, lo vamos a crear de nuevo instancia crear profundidad. Ahora no importa qué profundidad usemos simplemente porque simplemente no va a tener ningún efecto para nada visual. Simplemente va a dar forma a la pantalla con el objeto. Con todas las formas de objetos como una, deberíamos haber creado el shake Glen va a igualar el valor de tiempo que acabamos de establecer y la intensidad del batido va a igualar el valor de intensidad que acabamos de establecer. Ahora eso debería, pues, ponerlo en marcha para que los valores de tiempo e intensidad se transfieran al batido que ya hemos creado. Ahora bien, si esto funciona, lo que sin duda debería, entonces vamos a ver como sacudida de pantalla. Voy a probar esto porque si lo hago, digamos por ejemplo, hagamos pulsación de teclado, hagámoslo para prueba. Siempre es bueno probar estas cosas con esta consistencia así. Y vamos a llamar a SC shake. Y ya verás ahí ahora sugiere que lo llenemos con tiempo e intensidad. Entonces el tiempo está en marcos, recuerda 60 fotogramas por segundo. Y hagamos 20 intensidad, 20 pixeles de intensidad. Ahora deberías encontrar cuando presionemos la tecla del teclado, tendremos un problema de ICB con efecto en forma de pantalla Este es un objeto controlador, No tenemos un objeto controlador en la habitación. Si recuerdas a nuestro editor de niveles, nuestro editor de salas. En las instancias, vamos a poner el controlador aquí. Ver que está aquí. Ahí vamos. Ahora eso sí parece como si fuera uno en blanco. Eso es porque no tiene un sprite. No necesita uno porque solo está ahí para que haya un control. ¿Mirarías eso, la pantalla ahora? Obviamente, sacude bastante porque lo hemos puesto una intensidad bastante alta y no vamos a estar haciendo eso intensamente Pero podemos ver ahora cuando esto se destruye, podemos agregar SC shake. Si solo lo configuramos en 10.10, diez fotogramas y unos diez píxeles. Deberíamos notar. Ahora cuando saltemos sobre nuestro jugador, vamos a tener un pequeño batido de pantalla solo para darle un poco de jugo. Eso es todo lo que necesitas solo para que se sienta un poco más vivo. Ahora, por fin, vamos a agregar algunos sprites nuevos aquí, y te voy a mostrar por qué Porque vamos a estar haciendo un efecto de partículas. Ahora bien, los efectos de partículas por igual son muy, muy útiles porque aportan un poco de vida al juego mismo. Pero vamos a hacer una pausa ahí mismo. Vuelve a unirte a mí en la segunda parte, o te mostraré cómo usar los efectos de partículas. 10. Mejora el juego con efectos de partículas: Bienvenido de nuevo a la plataforma Gamemaker two D, un taller que voy a estar mostrándote con los guiones que te hemos presentado en la primera parte, cómo crear un simple efecto de partículas Los efectos de partículas igualmente son muy, muy útiles porque aportan un poco de vida al juego en sí. tengo dos sprites de partículas Aquí tengo dos sprites de partículas y los vamos a importar Vamos a llamar a eso partículas y partículas Estrella. Ahora lo que vamos a hacer con las partículas es que vamos a crear un efecto. Y luego otra vez, tal como lo hicimos antes, vamos a usar un script para establecer esos valores de antemano. En primer lugar, vamos a crear esto como un objeto de partículas. Y no vamos a asignarlo a sprite porque eso va a ser asignado cuando realmente lo configuramos todo a través de un script Un script va a asignar los valores al objeto a medida que lo crea. Entonces solo vamos a primero que nada, hacer índice de imagen. El índice de imagen es la cantidad de fotogramas de animación. Se trata del índice de imagen 012345. Hay diferentes tonos porque hará que se vea un poco más en profundidad que solo el mismo aquí. 123 le da un poco más de dirección de efecto de profundidad. Aquí va a ser al azar, así que salen en todos los ángulos. La alarma ahora una alarma es un temporizador en el juego, que se activa después de un número establecido de fotogramas. Eso va a ser 30 más 30 al azar. Será en la pantalla no más de 1 segundo de fricción. Ahora bien este es un valor incorporado para ralentizarlo y eso va a ser 0.1 Y la imagen alfa, esta es una transparencia que va a ser 0.8 más random 0.2 Va a ser mayormente visible y fade será false. Ahora una alarma cero. Cuando se acabe el temporizador, vamos a establecer fade true. Lo que haremos con este valor es entonces hacer un check en el evento step para ver si ese es el caso. Si fade es igual a true. Si fade es igual a true, entonces la imagen alfa va a desaparecer lentamente. Entonces se desvanece. Nunca nada debería desaparecer. Las cosas necesitan desvanecerse dentro y fuera, o entrar y salir de la pantalla, porque parece un poco más como si estuviera vivo. Si algo simplemente entra y sale, puede ser desorientador para el jugador Entonces, si la imagen alfa está en cero o arriba, o menor que cero, simplemente destruirá. Ahora necesitamos el script en su lugar para usar nuestras partículas. La forma en que vamos a hacer eso es volver a crear un nuevo guión. El nuevo guión de esta vez estamos, sólo vamos a llamarlo partículas. Eso es porque entonces cada vez que queremos partículas, solo estableceríamos partículas. Ahora tengo copia y pegué esto. Yo recomendaría hacer una pausa en el video para comprobar qué parámetros estamos usando Estamos usando el sprite x, y a, así podemos llamar estrella o hacer que la cantidad de partículas produzca la velocidad, el color y cuánto se dispersan Y con partículas, también vamos a establecer algunos valores predeterminados basados en estos. Ahora de nuevo, te recomendaría si solo puedes hacer una pausa en el video, copiar esto sobre, y buscar los valores que establecemos. Es x, y, sprite, cantidad, velocidad, color y dispersión Ahora estas están construidas en variables que vamos a hacer específicamente para este script. Lo primero que tenemos que hacer es repetir por la cantidad. Esto significa que cualquier porción de código que ponga dentro de estos corchetes se repetirá un número determinado de veces Aquí ahora va a ser donde creamos las partículas incidentes crea profundidad. Ahora con medios que asignará estos valores a la instancia que crea. Lo primero que vamos a hacer es establecido por la posición x menos dispersión sobre dos y luego más dispersión aleatoria veces dos. Ahora la razón es que luego establecerá X como el punto focal y luego agregará dispersión total alrededor. Es nuestra posición. Entonces también vamos a hacer lo mismo para nuestra posición y. Eso es Y, Y. Y va a ser también cantidad de dispersión. Ahora la profundidad va a ser profundidad menos uno, sólo para que se ponga de pie en la parte superior. Y eso va a ser profundidad menos uno. El objeto que vamos a crear es el que acabamos de hacer aquí, partículas de objeto. Con esto, en realidad vamos a asegurarnos de que la cantidad de partículas creadas sea significativamente salvaje. Parece algún efecto de fuego. Queremos que eso suceda. Como dije, es la posición menos dispersión sobre dos más dispersión aleatoria multiplicada por dos. Lo mismo con el valor y, y menos dispersión sobre dos, más dispersión aleatoria por dos. Profundidad menos uno y el objeto son partículas. Con eso en mente, con esta instancia particular Create, vamos a aplicar para cada una, lo siguiente. Ese va a ser el índice de sprite igual a sprite de guión bajo, que ya hemos establecido la Ahora esto va a cambiar el color. Entonces va a mezclarlo con el color que elijamos. Eso va a ser el color de subrayado. La velocidad es igual a la velocidad que ya hemos determinado. Menos, no 0.5 y más uno aleatorio solo para darle un poco de diferencia por vez que se crea. Esos comandos particulares se van a aplicar cada vez que cree esto. Y lo va a hacer este conjunto específico cantidad de veces. Eso es una cosa que sí noté también. Al evaluar el código. He puesto dos corchetes en el extremo ahí. Ese fue mi error. Debería ser uno. Ahora podemos ver la luz S para mostrar que está en relación con las variables Se. Siempre vale la pena estar seguro. Siempre que abres un soporte, lo cierras. Lo mismo con los soportes curvos aquí. Tenemos que asegurarnos de que cuando los abramos, los estemos cerrando apropiadamente. Y no vamos a dejar ninguno abierto que deba ser cerrado. Lo sabremos porque cuando lo resaltemos, verás con cuál está en relación. Por lo tanto, cualquier cosa en esta función desde esto hasta aquí se lleva a cabo. De igual manera, cualquier cosa dentro de estos paréntesis se repetirá esta cantidad de tiempo. Cualquier cosa en este corchete que se abra sobre esto aquí se hará a este comando en particular. Siempre es importante verificar y asegurarse de que cualquier soporte que abra, cierre y no deje ningún abierto que no haya sido cerrado. Porque al hacerlo, eso va a crear un poco de problema. Pero con eso en mente, vamos a probar esto. Ahora lo que también hay que tener en cuenta, si entro en el sprite aquí, podemos comprobar el valor hexadecimal de este color Debido a que gamemaker utiliza diferentes formas de identificar el color, puedes saturar el valor Valores de color rojo, verde, azul. Puedes usar algunos valores de color incorporados. O puedes usar un valor X. Y te voy a mostrar justamente cómo se llevan a cabo. He tomado ese valor x. Lo que voy a hacer ahora es ir al chip de computadora. Sobre la destrucción de este chip de computadora, que como sabemos sucede cuando choca con el jugador colisión con la instancia del jugador destruye Ahora vamos a llamar a nuestro script de partículas partículas. Vamos a crearlo en la posición x e y. El sprite que vamos a usar es punto de partícula. Vamos a crear, digamos diez de vs darles una velocidad de uno y el color. Ahora bien, si tuviéramos que hacer subrayado, se puede ver que hay algunos valores incorporados para los colores Pero si quieres ir más que eso, también puedes usar los comandos make color HSV y hacer color RGB, valor de saturación de matiz, y rojo, verde, azul O puedes hacer esto si obtienes el valor hexadecimal, pones el símbolo del hashtag y pegas en eso, entonces lo que podemos hacer es dispersarlo por dos. Entonces lo que también haremos, bueno tenemos esto, vamos a obtener el valor para el amarillo también. Haremos una linda estrella también. Usemos la herramienta de gotas para los ojos y obtengamos este color. El valor hexadecimal está aquí. De nuevo, vamos a hacer lo que hicimos antes, donde vamos a las partículas aquí, podemos controlar el punto de partícula D, ¿verdad? Creo que lo que realmente tenemos que hacer es cambiar esto de real porque lo que realmente necesitamos es un activo. Lo mejor a lo que podemos cambiar esto es el índice. Index es un valor como un sprite o un objeto que hace que sea un poco más fácil de interpretar porque lo que efectivamente estamos haciendo es definirlo por nosotros mismos Porque estamos diciendo que voy a poner un valor real aquí, voy a poner aquí un sprite O puedes usar cadena por ejemplo, si vas a poner en texto. Simplemente lo hace más fácil. Cuando Gamemaker está tratando ayudarte, tienes que entender, Gamemaker sí intenta ayudar tanto como puede Dirá, espera un minuto. Estabas buscando un sprite aquí. Estabas buscando algo más. ¿Por qué? ¿Por qué haces esto? ¿Por qué me estás dando un valor diferente? No tienes que poner necesariamente de qué tipo estás haciendo ahí, Pero sí ayuda porque lo que realmente puedes hacer es entonces decir, oh, esto está destinado a, no necesariamente va a llegar a un error, pero lo va a subrayar o decir, oh, estaba esperando que pongas esto y no eso en, y hace que sea un poco más fácil para gamemaker solo intentar y ayudarte. Es muy útil tenerlo en cuenta, pero eso lo hemos cambiado a index y ahora se puede ver, no es decir, espera, ¿no estás destinado a poner algo más aquí? Ahora, con eso en mente, deberíamos ver un bonito efecto de partículas. Ahora ese es un pequeño efecto de partículas agradable basado en lo que acabamos de hacer. Ahora bien, estas partículas son bastante pequeñas, pero está bien. Siempre podemos hacerlos un poco más grandes, siempre podemos hacerlos un poco más vibrantes. Pero solo estamos haciendo un bonito efecto de partículas que es bastante bonito, creo. Ampliémoslo un poco. Pongamos algunas partículas más ahí. Hagamos 20. Hagámoslos un poco más rápidos. Hagámoslo también, que esa sea también las estrellas, igualmente más rápidas. Nuevamente, se trata de jugar, ver qué le queda. Deberíamos ver algunos mejores efectos. Ahora cuando recogemos un chip de computadora, mira esa agradable y saludable explosión de partículas. Cuando recogemos el chip de computadora, eso va a hacer que se sienta mucho más vivo. Cuando estamos jugando al juego, tenemos algunas partículas, tenemos algunas sacudidas de pantalla. Y podemos aplicarlos en cualquier momento porque los hemos hecho como guiones. Cada vez que queremos usar efectos de partículas o sacudidas de pantalla, todo lo que tenemos que hacer es escribir partículas o sacudidas SC equivalentes al script que hemos creado. Y solo entrarán en juego en cualquier momento que necesitemos usarlos en el futuro. Que definitivamente será bastante a menudo cuando queremos hacer la E, hacer que el juego se sienta más vivo. En realidad, antes de terminar la lección al revisar el metraje, error es un pequeño problema con las partículas. Esto ocurre después del evento create aquí donde estamos configurando el índice de imagen aleatoria. En realidad está configurando esto, pero no está configurando el sprite, está configurando el sprite, pero no lo está cambiando Tenemos que poner eso aquí. El índice de sprite cambia al sprite de partícula que hemos asignado Después cambiamos el índice de imagen. Y ahora te darás cuenta cuando volvamos a entrar, en realidad va a tener partículas de diferentes tamaños según el índice de imagen o imágenes de sprites aleatorias que tenemos Ahí vamos. Eso tiene más sentido. Sólo una pequeña enmienda a la lección a tener en cuenta. Entonces realmente importa en qué script se ejecute, realmente importa de qué manera se organice el código. Así que solo tenlo en mente. Si algo no funciona, puede ser que lo hayas puesto de la manera equivocada. Entonces con eso en mente, hoy hemos cubierto bastante. Hemos repasado bastantes cosas. Vamos a ver algunos elementos diferentes del uso de gamemaker como algunos efectos de animación A continuación, por lo que nuestro personaje no es sólo una imagen estática. Y vamos a empezar a armar algunas cosas más para que el juego realmente cobre vida, incluyendo algunos picos. Porque en realidad tenemos algunos picos aquí. Aún no hemos hecho nada con ellos. Vamos a hacer algunos efectos para lo que sucede cuando morimos. Y también vamos a hacer algunas pantallas de transición, todas para esperar en las lecciones futuras. Sin embargo, mientras tanto, nuestro juego está empezando a cobrar vida. Y espero que estés disfrutando de lo que estás viendo hasta ahora. Si es así, estad atentos para la siguiente lección. 11. Implementar picos y transiciones de nivel: Bienvenido de nuevo a la plataforma Gamemaker two D, un taller. Voy a estar mostrándote cómo crear algunos picos y algunas transiciones entre habitaciones. Bienvenida de nuevo. Ahora en esta lección te lo dije, te mostraría lo que pasaría si golpeas un pico. Entonces es muy sencillo. Como puedes ver aquí tenemos nuestros objetos de espiga y lo que tenemos que hacer es simplemente agregar un evento de colisión a los picos. Sin embargo, debido a que el objeto padre es pico inferior, todo lo que necesitamos hacer es agregar una colisión para este evento usuario cero. Lo que pasaría es que entonces se llevaría cabo por cada vez que choques no solo con este pico sino todos sus hijos por arriba izquierda y derecha Con eso en mente, aquí tenemos nuestro pequeño pincho. Pongamos los otros en solo para que podamos estar seguros de que funciona, pongamos uno aquí a la izquierda. Pongamos uno aquí a la derecha. Pongamos uno al fondo también, solo para que podamos estar seguros de que cualquier cosa va a causar ese efecto sordo. Entonces echemos un vistazo. Aquí tenemos nuestros picos mortíferos y mortíferos. Y cuando miras eso, mueres inmediatamente después de la colisión según lo planeado. Ahora puedes hacer varias cosas diferentes. Puedes asegurarte de que puedes jugar con el código y asegurarte de que quizás solo funcione en ciertas condiciones. A lo mejor los picos subirán y bajarán en los temporizadores. Esos también son bastante divertidos. Ciertamente podemos tener alguna experimentación con otros enemigos y otras cosas diferentes también. Pero esto es para conseguir un juego de correr muy sencillo a partir de ahí. Siempre podemos ampliarlo en el futuro. Y ahí es donde te bajará en base a lo que has aprendido y ampliando tus conocimientos. No obstante, antes que nada, podrías notar cuando mueres, es un asunto muy sencillo. Simplemente restablece la habitación. No queremos que eso suceda. Queremos algunos efectos. Y de eso se trata la parte principal de esta lección . Hagamos algo de eso. Lo primero que voy a hacer es mostrarles lo que yo llamo una apertura y cierre, o una secuencia de transición de sala. Pero para mostrarte eso, necesito mostrarte esto. Ahora bien, esto es lo que se llama movimiento Lup Lp. Se puede utilizar para crear movimientos suaves y de resorte. Creo que es muy útil hacer algo como esto porque agrega un poco más de un efecto vivo a la forma algo se mueve en lugar de simplemente ser una velocidad estática. Vamos a usar esto para hacer un marco de cierre y apertura para nuestros niveles. Con eso en mente, hagamos algo así. Primero que nada vamos a necesitar de un nuevo objeto. Vamos a crear primer nivel de apertura, nivel abierto. Ahora lo que vamos a hacer es establecer nuestras dos variables que necesitamos para que esto suceda. Ese va a ser el objetivo Y y Y. La Y actual para mostrar el nivel Y y el objetivo Y. Entonces lo que tenemos que hacer es entrar en nuestro evento de paso y ajustarlo para que y sea igual a p, luego y vuelva a ser y tar, y 0.1 Esto creará por lo tanto ese efecto de movimiento suave que queremos cuando estamos abriendo el nivel. Empecemos por presentarte nuestro evento de cajón. Con este evento, vamos a antes que nada, establecer el color en negro. Establecer color, en este caso solo necesitamos el negro. Y vamos a dibujar un rectángulo. Este rectángulo va a comenzar a las 00, va a ir al ancho de la habitación. Y lo que vamos a hacer aquí es para que realmente baje. Va a comenzar, en realidad vamos a empezar poniendo esto a la variable de altura de la habitación. Vamos a volver a hacer la altura de la habitación, o en realidad lo que haremos es hacer cero más y es, entonces eso hará que baje. Ahora pondremos una alarma. Si entramos en nuestro evento create y ponemos una alarma, o digamos solo una cantidad muy pequeña, diez fotogramas, una sexta parte de segundo en esta alarma. Luego estableceremos el objetivo Y a la altura de la habitación. Al hacerlo, eso hará que el valor de esa variable aumente a ese objetivo. La Y es valor que estamos dibujando aquí. Veremos una secuencia de apertura suave. Entonces lo que haremos es establecer otra alarma, una alarma. Vamos a poner eso a un segundo y medio sólo para estar seguros. Y al hacerlo, entonces destruiremos la instancia que debemos recordar para salvar la memoria. Siempre que terminamos de hacer algo, lo destruimos. O lo dejamos fuera de uso porque no queremos que se quede por ahí donde no va a ser útil ahora. Y van a ver, intencionalmente lo he hecho mal. Voy a explicar por qué. En primer lugar, pongamos nivel abierto en nuestra habitación y verás dónde está el problema. En realidad, ese no es el tema que estaba destinado a mostrarte. Se me olvidó una discusión aquí. También hay bosquejo, queremos que eso sea falso, queremos que sea sólido. Pero ahora te voy a mostrar a lo que me refiero. Como pueden ver, todavía hay algunas cosas por encima de este rectángulo. Eso no queremos. Vamos a arreglar esto. Aquí es donde entra nuestro objeto controlador. Borremos eso y vayamos a nuestro controlador. Cuando nuestro controlador, lo primero que vamos a hacer, crear evento, es por ejemplo, crear profundidad. Vamos a crear esto a las 00 porque realmente no importa dónde lo creamos, pero la profundidad es lo más importante. Eso va a ser -500 Es menos porque es un sistema de capas, así que lo estamos poniendo justo encima de todo 500 es simplemente arbitrario dependiendo de cómo ordenes tus profundidades, puedes subir o bajar eso, pero es importante que esté por encima de todo lo demás, luego a nivel abierto. Ahora te darás cuenta porque está creando esto encima de todo lo demás, todo lo demás estará cubierto. Si entramos en ello ahora verás que está encima de todo. Eso está todo bien y bien. Esa es la primera mitad de nuestra transacción de muerte. Ahora queremos la segunda mitad. Notarás en el evento O player, la secuencia de muerte en este momento es simplemente reinicio de habitación. Ahora no queremos eso, así que lo vamos a hacer es que vamos a crear un objeto similar a nivel abierto. Vamos a llamar a ese nivel de nivel cerrado. Ahora lo que vamos a hacer es similar. En realidad no vamos a establecer esto como padre, pero vamos a establecer esto de manera muy similar. Vamos a poner la alarma a uno esta vez porque queremos que suceda instantáneamente Nuevamente, copiamos el código de paso porque eso es muy útil, el código de alerta. En este caso, lo que vamos a hacer es hacerlo ir al revés. En este caso, va a dibujar el rectángulo desde arriba. Va a ser la altura de la habitación menos sí, y eso va a hacer que se barre. En cambio, cuando morimos, comenzará a las 00 y luego tomará la altura de la habitación menos y bajará y luego volverá. Tendrá una agradable transición suave. La razón por la que es importante tener una transición suave como esta, y digo esto mucho sobre muchos juegos, y es un defecto fatal que los juegos pueden hacer Nada debería simplemente estallar en existencia. Todo debería entrar y salir de la pantalla. O entrar y salir de una transición. De lo contrario, va a parecer muy antinatural cuando algo simplemente aparece. Echa un vistazo a los nuevos juegos de Amario, por ejemplo. Cuando aparecen las monedas, las monedas extra que puedes recolectar, entran en la pantalla y luego las recolectas. Hay otros ejemplos, pero sólo a modo de ejemplo, nada debería aparecer. Con eso en mente, vamos a hacer algo diferente con un nivel cerrado y vamos a establecer una variable llamada room targ, room tag Sólo vamos a ponerla a cero. Lo que vamos a hacer esta vez, pondremos la alarma como hicimos antes. Lo que podemos hacer es que en realidad podemos copiar un evento y pegarlo aquí que haga lo mismo. Alarma uno por lo tanto va a cambiar en este tiempo no para destruirse sino para ir a. Y ese va a ser nuestro objetivo de habitación. Ahora vamos a usar este valor. Pero lo que notarás aquí, ya he puesto esto a cero. Voy a comentar esto porque eso puede anular la forma en que queremos hacer esto. Te voy a mostrar lo que tenemos que hacer aquí. En realidad, he cometido un ligero error aquí. No necesitamos la altura de la habitación menos y es, solo necesitamos y es. Y eso lo creará para bajar. Como decía aquí, este es el código que vamos a necesitar. Eso te lo explicaré. Nuestra secuencia de muerte actualmente es solo reinicio de habitación. Ahora, eso no es muy emocionante. Lo que en realidad vamos a hacer es esa instancia de sala al antes que nada hacer instancia crear la muerte como lo hicimos antes, no importa dónde. Pero un valor arriba muy alto para la profundidad o muy bajo hacia abajo supongo. Cerrar nivel. Ahora lo que vamos a hacer es caso esto con un valor. Se va a crear esta instancia y el código de la siguiente manera. Nuestro objetivo es ese valor. Ahora lo estamos configurando por primera vez y lo vamos a hacer en get index room name, room. Muy sencillo. Es conseguir el nombre de habitación y convertirlo en ser acto. Simplemente te llevará de regreso a tu habitación actual. Eso es reinicio de habitación. Pero lo que vamos a hacer en cambio es a algunas partículas como recuerdas de la última. Vamos a hacer eso donde está. Vamos a hacer el sprite para las partículas como partícula Hagamos 37, tiene una velocidad de decir, tres. Vamos a hacer sólo un color verde muy simple por ahora. Siempre podemos ajustar eso. Vamos a añadir un poco de efecto de dispersión. Entonces vamos a añadir también un batido batido. Vamos a sacudirlo por un tercio de segundo, bastante intenso. Entonces vamos a, una vez que hayamos hecho esto, destruir la instancia, que hacemos aquí con instancia. Ahora lo que deberíamos ver es una secuencia de muerte propiamente dicha. Veamos cómo se ve eso. Este debería ser nuestro primer error. Veamos por qué está bien. Ahora es importante hacer una comprobación de errores porque cuando verificas errores, en realidad empiezas a darte cuenta de que hay cosas que dependían de que ese objeto estuviera alrededor. En este caso, fue el paso a través de la pared. Cuando lo destruimos, el código dejó de funcionar porque buscaba el objeto jugador que no existía. Simplemente cambiaremos esto a si el jugador de número de instancia no es igual a cero, entonces encerramos este código Ahora estamos aprendiendo a medida que avanzamos aquí, ya que es importante con el gamemaker, encontrarás tus errores de encuentro cuando veas cosas que dependen de los demás Ahora ojalá esto funcione correctamente. Ahí la tenemos, una simple secuencia de muerte que se ve mucho más emocionante y mucho más animada que una simple sala de reinicio. Esta vez le tiene algún efecto y puedes reiniciar rápidamente y volver al nivel. Ahí tenemos un bonito efecto. También podemos acelerar este efecto si queremos. Podemos cambiar los valores de alerta a 0.2 en lugar de 0.1 Eso hace que todo actúe un poco más rápido. Y luego cuando establecemos estas alarmas, podríamos cambiarlas a 1 segundo y eso por lo tanto reducirá el tiempo intermitente entre cuando se está recargando el nivel o al menos parece estar recargando Y eso hará que parezca un poco más rápido, un poco más whizzyough, secuencia de muerte simple que sería mejor para un juego en el que mueres con bastante Básicamente cuántas veces se espera que mueras debería coincidir con lo rápido que es una secuencia de reinicio. No hay nada tan malo como un juego que tarda mucho en reiniciarse después de la muerte, y se espera la muerte con bastante frecuencia. En la lección de hoy, hemos cubierto cómo buscar errores inadvertidamente, pero hemos aprendido, también hemos cubierto cómo programar una secuencia de muerte muy simple, y también hemos hecho algunos efectos muy agradables para acompañarla En la siguiente lección, vamos a empezar a hacer algunas cosas más. Como ¿qué pasa cuando realmente recolectas todos los chips de computadora? Cómo hacer la transición al siguiente nivel. Implicará lo que ya aprendimos con objeto de nivel. Vamos a estar atando eso con algunos diseños más de nivel y diferentes cosas que podamos agregar. Entonces vamos a empezar a ponerlo todo junto antes de eventualmente agregar los efectos como sonido y un menú, pantalla de título, las cosas que lo hacen sentir como un juego completamente empaquetado. Pero ya estamos llegando , así que espero que disfruten de la lección de hoy y los veré en la siguiente. 12. Configuración y efectos de la mecánica de finalización de niveles: Bienvenido de nuevo a Gamemaker two D platform, a Workshop. En esta lección, lo que vamos a hacer es asegurarnos de que realmente podamos terminar el nivel. Esto sucede cuando recolectas todos los chips de computadora. Ahora en lecciones posteriores vamos a cubrir el artilucio de esto, que es donde tienes que recogerlos antes de que te quedes sin batería Y vamos a hacer algunos efectos más, pero por ahora queremos lo real puro y sencillo. Que llegue al final del nivel solo para trabajar para que podamos probar. Antes que lo haga, solo voy a quitar eso porque no puedes pasar ese pico. No te preocupes por eso por ahora. Empecemos a crear. Entramos primero en nuestro ex it, ahora nuestra salida es la misma que ella, en que este es el sprite y este es el objeto Ambos están vinculados. crear algunos efectos de partículas. Cuando miramos al sprite, o más bien este de aquí, podemos ver que queremos que las partículas emanen de este punto y este punto para darle un poco de emoción que está disponible que es gratis para entrar en eso Has recogido todos los chips de computadora, vamos a hacer número de instancia, acabo de copiar eso dos veces. Si el número de instancia de chip de computadora es igual a cero, aquí es donde vamos a hacer nuestras partículas. Vamos a primero. Ahora el punto de origen aquí está en este punto, vamos a checar aquí. Y va a ser 3.4 que va a ser más tres y empieza en dos más dos. X más tres e y más dos. El sprite que vamos a usar partículas, partículas, partículas, do El monto es solo uno porque va a hacer a cada paso, la velocidad va a ser dos. El color sólo vamos a hacer amarillo. Siempre podemos cambiarlo después y el scatter, lo vamos a poner a las dos. También vamos a usar el control D para duplicar esta línea. Lo que vamos a encontrar aquí es lo lejos que va esto, que es 28 también. También vamos a hacer x más 28 ahora, en realidad crear un pequeño y agradable efecto de partículas incitantes cuando estemos listos para entrar en la salida Veamos cómo se ve eso. Lo vamos a probar aquí. No vamos a morir porque eso no es algo muy bueno que hacer. Ahí vamos, Op toma eso. Ahora recogeremos todos los chips de computadora. Lo que encontraremos es que empezará a iluminarse y podremos entrar realmente por la salida, o más bien parecerá que podemos. Bien, puede que lo hayamos visto brevemente, pero tenemos que sacar ese pico en el camino. No podemos salir del camino. Las pruebas son importantes. Si mantienes pulsado, será una selección de múltiples capas. A pesar de que no estamos en la capa correcta, ahora estamos en las fichas ahí. Si seleccionamos Mantener presionada y seleccionamos eso haciendo clic en él, se establecerá por defecto a las instancias y vamos a presionar Eliminar. De hecho, mientras estamos aquí, solo vamos a eliminar algunos de estos porque siempre podemos volver a ponerlos más tarde. Pero por ahora queremos comprobar, funciona enseguida. Así que vamos a hacer que sea más fácil probarlo con sólo tener dos que recolectar. Solo comprueba un, un non, así que no importa cuántos estén en un nivel que puedas ver ahora que se está iluminando. Eso es muy emocionante ahora que si algo es demasiado, los vamos a reducir. La forma en que vamos a hacer eso es haciendo iguales elegir uno o dos aquí. Si P es igual a uno, entonces esto si P es igual a dos, entonces de esa manera voy a alternar y también podemos reducir la velocidad. La velocidad creo que sería mejor a tal vez 0.5 Es solo un caso de ensayo y error y ya veremos qué encaja uno y qué no a medida que avanzamos, deberíamos ver esto va a empezar a verse un poco menos loco para las partículas. intentaremos de nuevo. Ahí vamos. Eso parece que se ilumina. Eso es bastante elegante. Eso es como un pequeño efecto resplandeciente. Eso nos gusta bastante. Eso se ve muy interesante. Lo mantendremos así. Pero claro que podemos tener en cuenta que siempre podemos ajustarlo en otro punto. Con eso en mente, hagamos que funcione. Lo que vamos a hacer a continuación es verificar si colisión con él aquí. Vamos a hacer una comprobación de colisión, que podemos hacer esto, podemos verificar si hay una colisión con el jugador, pero también podemos ponerlo en el escalón. El motivo por el que quiero ponerlo en el escalón es porque quiero verificar si está en la colisión central. En realidad podemos usar ya sea un círculo, una elipse, una línea, un punto, o en este caso vamos a usar un rectángulo Ahora la forma en que vamos a hacer esto es comprobando si tenemos el sprite abierto, podemos usar el cuadro de límites, pero también lo necesitamos predominantemente En realidad va a verificar a unos 14 píxeles hacia abajo. Queremos 12. Si vamos a decir 12, unos 19 pixeles. 12, 19. ¿Y cuántos dije? 14. Hagamos 14. 14 abajo y 12. 1914, 19. Solo estamos haciendo algunas notas a medida que avanzamos. Eso va a ser X más 12, y luego vamos a hacer y más 14. Entonces vamos a hacer x más 19 e y más 16. Por lo tanto, sólo va a checar esa parte central. El objeto que va a buscar es jugador. Se va a comprobar si es preciso en esa colisión y no yo va a ser puesto true porque no está comprobando por sí mismo. Pero antes de hacer eso, de nuevo vamos a encerrar esto en instancia player checker porque como hicimos antes, no queremos que ocurra este error donde está comprobando una colisión con un objeto que no existe Lo hemos encerrado. Y ahora comencemos algo de codificación. En este plato lo vamos a hacer ahora recuerdas donde realmente hicimos una secuencia de muerte. Lo que hicimos aquí fue etiquetar el objetivo de la habitación para igualar la misma habitación. Sólo vamos a ponerla a cero. El motivo de ello es porque vamos a agregar algunas condiciones a la habitación más cercana. Ahora aquí es donde la acción real tiene lugar en el primer evento de alarma. Podemos cambiar esta descripción para cambiar habitación para que podamos verla aquí para futura referencia. Pero si lo hacemos, Tar no es igual a cero entonces irá a la habitación. Pero elegimos, si t es igual a cero, entonces sólo vamos a ir a la habitación contigua. Habitación. En realidad, eso no es correcto. Tened un momento conmigo. Lo que realmente necesitamos aquí no es que exista espacio porque eso comprobará por uno específico. Si habitación al lado de la habitación contigua de esta no es igual a menos uno. Menos uno es el valor devuelto cuando hay un problema con esto. Como en otras palabras, esto es decir si hay la siguiente habitación existe, entonces habitación siguiente. Apenas por ahora, también haremos final de juego. Muy sencillo. Ahora eso haría por lo tanto cuando lo pongamos a cero, una comprobación automática para ir a la habitación contigua que estamos haciendo aquí. Con instancia, crear nivel cerrado de profundidad. Si un objetivo de habitación es cero, comprobará de la habitación contigua y si existe irá a ella. Si no es así, simplemente terminará el juego. Veamos que en acción elijan estos, entramos en ello. Simplemente termina el juego. Ahora podemos agregar algún juego elegante sobre pantallas, pero aún no vamos a hacer eso, porque ahora lo que vamos a hacer es simplemente hacerlo un poco más interesante. En primer lugar, queremos que el jugador deje de moverse. La forma en que podemos hacerlo, en lugar de iniciarlo aquí es moviendo al jugador y destruyéndolo. En este punto volveremos a usar con pero esta vez con jugador vamos a destruir. Ahora va a parecer extraño por sí porque el jugador simplemente va a salir de la existencia. Vamos a hacer un nuevo objeto que es el jugador ficticio. Lo que vamos a hacer con éste es darle sprite de jugador Vamos a establecer su velocidad de imagen y su índice de imagen a cero. Vamos a establecer su profundidad -100 Eso básicamente asegurará que esté un poco más arriba en el orden para que podamos verlo Entonces lo que vamos a hacer es simplemente, en primer lugar, es imagen alfa igual a uno y establecer un valor de fundido a false. Pondremos una alarma o un segundo. Entonces después de un segundo, en realidad vamos por 2 segundos. Alargaremos el proceso un poco después de la alarma, estableceremos fade true. Una vez que hayamos hecho eso, podemos trabajar en nuestro evento de pasos. En un evento escalonado, va a subir lentamente. El valor de Y va a aumentar 0.5 píxeles en cada paso. Si f es igual a uno verdadero o verdadero si ambos hacen lo mismo en este contexto, entonces la imagen alfa lo que básicamente significa la transparencia va a bajar. Entonces comprobará si la imagen alfa es igual a cero, luego instancia destruir. Lo que podemos hacer aquí es más que crear inmediatamente esta parte de cierre en lugar de inmediatamente, no la de la secuencia de muerte, sino ésta. En lugar de hacer esto de inmediato, realidad podemos hacerlo en la destrucción del objeto jugador, el jugador ficticio En realidad lo llamaremos el reproductor de viento porque eso suena más divertido. Jugador de viento. Lo que vamos a hacer es en la destrucción, entonces crearemos aquí la secuencia final de la habitación. Debería cerrar eso porque va a cometer un error si mantengo eso abierto. Ahora sólo vamos a hacer profundidad de instancia. No importa qué profundidad porque ya la hemos establecido. jugador x es el valor O, el jugador X, los jugadores y el valor, que es jugador Y la profundidad. Como dije, no importa. Y vamos a usar wind player se va a crear esto y luego destruir al jugador. Ahora eso debería crear un pequeño efecto agradable. Veamos cómo se ve eso. Ahora podemos ver que está abierto y nos levantamos. Y eso es bastante bonito, pero vamos a hacer una pausa ahí mismo. Únete de nuevo a mí en la segunda parte, donde te mostraré cómo agregar los efectos al finalizar tu nivel. 13. Finaliza la mecánica de finalización de niveles en GameMaker: Bienvenido de nuevo a la plataforma Gamemaker two D, un taller. Voy a estar mostrándote cómo agregar algunos efectos bonitos para que el final de tu nivel se vea genial. Por supuesto que es un poco lento temático, así que vamos a acelerarlo un poco. Y podemos hacer esto yendo a Owen Player. En primer lugar, vamos a reducir esto a uno, a 2 segundos. Hagamos que este suba un poco más rápido y volvamos a desvanecer un poco más rápido. Se trata solo de jugar con los valores, ver qué encaja mejor. Echemos un vistazo a eso ahora. Saltaremos y recogeremos los chips de computadora. Perfecto. Ahora bien, digo perfecto. Agreguemos un pequeño toque más a esto agregando una barra de cierre que solo va a parecer un poco más como un efecto divertido. Ahora en este caso, también vamos a usar el valor Lp que teníamos antes. Recordarás el valor lerp, va a estar lejos p es igual a cero, etiqueta de barra es igual a cero Y vamos a tomar el mismo código que en antes de este y simplemente reemplazar los valores que van a ser barra aparecen frente a éste. Ya va a señalar pero las variables vuse no están definidas en este objeto, pero eso está bien. Vamos a reemplazarlo. Vamos a hacer esto un poco más pequeño, así que es una transición más lenta. Ahora con eso en mente, vamos a empezar a crear nuestro evento de sorteo. Vamos a dibujar, establecer el color en blanco. Queremos que sea semitransparente. Draw envió alfa a 0.5 y vamos a dibujar un rectángulo. Ahora el rectángulo va a estar desde la posición x. Se crea en menos barra par sobre dos porque queremos que esté alineado al centro. El valor y va a ser y, el valor x aquí. La segunda parte será x plus bar aquí, más de dos. Y verás que comenzará a autocompletar. Te sugerirá tus variables locales lo cual es brillante. El valor y va a ser cero, así que va a aparecer como si viniera de lo más alto de un nivel. Y el esquema, vamos a ponerle eso a Fox. Queremos que sea sólido, no sólo un esquema. Cuando terminemos con esto, como deberíamos con cada evento de cajón, necesitamos restablecer el alfa a uno. La razón es, si estás usando otras áreas, con otros eventos de cajón, otros objetos, tomará esta última pieza de código. Entonces, si de inmediato no lo vuelves a poner en uno, puede hacer algunos efectos extraños y hacer las cosas un poco más transparentes y no queremos eso. Siempre que hayas terminado, dibuja conjunto alfa, iremos a uno. Y también podemos, para una buena práctica, establecer dibujar, cortar, establecer color en blanco. Aquí solo hemos usado el blanco. Pero si estuviéramos usando un color diferente, eso es por ejemplo, escojamos un amarillo claro, por ejemplo. Vayamos a nuestro editor de sprites, Encuentra un bonito amarillo claro para que podamos probar este punto que necesitamos volver a configurarlo simplemente yendo a cualquier sprite viejo No importa, en realidad no estamos editando el sprite. Lo que estamos haciendo aquí es editar el color. Vamos a ir por un amarillo claro muy bonito como ese. Toma ese valor x y recuerdas cómo aplicamos valores X. Vamos a ir a aquí está, el conjunto de dibujo color. Usamos el símbolo de hashtag y luego el valor hexadecimal que voy a hacer. Si pasas el cursor sobre él, en realidad puedes ver ese color. Es muy intuitivo en ese sentido. Ahora eso aparecerá. Pongamos una pequeña alarma. Sólo di alarma de cero a diez. Entonces después de eso, el valor de la etiqueta, ahora queremos que nuestro reproductor tenga 16 píxeles de ancho. Queremos que abarque al jugador y deje un poco de espacio extra. Vamos a establecerlo en 24. Veamos cómo se ve eso. Eso debería dejar un ancho de seis píxeles cada lado aquí cuando tengamos la colisión con la salida o mejor dicho con esta salida. Ese es el sprite. Lo que volveremos a hacer, vamos a crear esto. Ahora ya hemos puesto del jugador de viento a -100 Vamos a poner la profundidad de la barra de cierre a 101 Parece como si te estuvieran llevando a este tracto para ser, eso va a ser bastante bonito. Con eso en mente, vayamos a la parte de colisión con el jugador colisionando con la salida Así que al revés la salida colisionando con el jugador, lo haremos, vamos a crearla en su valor x Entonces se creará en el medio. En realidad, hagamos jugador X. Vamos a ponerlo ahí. Lo crearemos a su propio valor Y. Ahora recuerde, su propio valor Y está aquí basado en el punto de origen. Queremos que aparezca como si viniera de abajo. Que vamos a necesitar que sean 15. 15 menos dos es 13, suma desafortunada, pero vamos a usar eso Acabo de abrir para uno aquí, va a ser y más 13 y vamos a hacer el objeto barra cerrada. Ahora con esto, por lo tanto podemos ver ojalá, efecto de barra muy bonito aparezca a medida que el jugador consigue que el tractor se enrolle hacia la salida Veamos eso en la práctica, miren eso, ese es un efecto muy bonito. Se abrió un poco despacio, pero aquí es de nuevo donde entran en él diferentes elementos de las pruebas de juego. Pongamos eso a 0.2 también, así que aparece un poco más entonces. Lo que también podemos hacer solo por un poco más de un efecto un poco aquí es si vamos a cerrar nivel, lo que podemos hacer es tan pronto como se cree esto, si el número de instancia C bar no es igual a cero con la barra cerrada, entonces pondremos la barra t cero solo para que parezca que se cierra de nuevo. Entonces eso significa que en cuanto empiece a hacer la transición y baje el listón, eso volverá a cerrar. Eso nos dará un bonito efecto como si tu robot estuviera siendo quitado por una viga tractora. Eso será bastante divertido, y luego pasará fácilmente sin problemas al siguiente nivel. Podemos ver la suciedad. Es tan sencillo como eso. Hemos creado una transición al final del nivel. Ahora, en la siguiente lección, vamos a empezar a hacer algunas cosas diferentes. Vamos a hacer algunos efectos más. Vamos a hacer algunas partes más bonitas al nivel. Y ahora estamos muy cerca de tener un juego completo. Sí necesitamos animar nuestro personaje. También tocaremos eso. Y haremos algunas cosas diferentes para simplemente atarlo todo muy bien. Entonces con eso en mente, espero que hayan disfrutado de esta lección. Y te veré en la siguiente. 14. Animación para jugadores que da vida a los personajes: Bienvenido de nuevo a la plataforma Gamemaker two D, un taller. En esta lección, vamos a mirar a animar a nuestro personaje donde lo dejamos el último. Nuestro personaje se sintió un poco rancio, no hubo mucho movimiento Sí, el personaje se movió, pero si miramos la animación, olvidé que hicimos la secuencia de la muerte. Bien, intentemos eso otra vez, ¿de acuerdo? Bien, como podemos ver, nuestro personaje se mueve por ahí, pero no pasa mucho y queremos arreglarlo. Lo vamos a hacer hoy. Lo primero que vamos a hacer es darle un efecto flipping Ahora la forma en que queremos hacer esto es asegurándonos de que tenemos dos variables establecidas, image x target o iMxt Y es IM x, realmente no importa cómo llamemos a estos, pero sólo vamos a llamarlos así. Ahora la razón por la que tenemos estas dos variables particulares es porque no queremos que la volteo ocurra instantáneamente. Queremos tener un efecto flip así, en lugar de que simplemente suceda de inmediato. Si IMXT es más grande que IMXIS, entonces IM IS agregará 0.1 En realidad, iremos 0.25 lo haremos un poco más rápido De igual manera, si I XIS es más grande y lo vamos a reducir. Ahora lo que vamos a hacer es entonces asegurarnos de que en nuestra plataforma, vamos a comprobar si el HSP, la velocidad H, es mayor que cero Si lo es, entonces IMT, el objetivo, será igual a uno Si es menor que cero, entonces será igual a menos uno. La razón por la que hacemos esto es porque lo que vamos a hacer ahora es presentar el evento del cajón. El evento del cajón básicamente hará cualquier cosa que ya se muestre. En este caso, nuestro jugador desaparece y anula con lo que escojamos dibujar. Ahora en algunos casos, solo puedes hacer dibujar auto. Ahora bien, si nos dibujamos a sí mismos, verás que en realidad no hará mucha diferencia porque es simplemente dibujar el personaje tal como está. Entonces, cuando miramos nuestro juego hasta el momento, parece que nada ha cambiado. Y eso está bien. Pero queremos que haga algo más que dibujarse a sí mismo. Vamos a dibujar el sprite. Ahora el sprite va a ser el índice de sprite y el índice de imagen Pero lo que vamos a hacer aquí es cambiar lista de draw sprite xt extendido y como verás en la parte inferior tenemos algunas variables más El valor x será x, Y, valioso sería Y. Pero aquí es donde hacemos la diferencia. La escala X, esa va a ser I, M, S. ¿Qué es la escala Y? Todavía va a ser uno. En realidad, haremos la escala Y de imagen por si acaso queremos cambiarla. La rotación será ángulo de imagen, decir, cero. El color será blanco servicios. Si se funde en un color, no va a servir. No hay necesidad de hacerlo. El alfa en realidad, lo pondremos en imagen alfa, esa es la transparencia. Alfa no es más que otra palabra para transparencia. Ahora cuando ejecutemos el juego, deberíamos notar alguna diferencia significativa en la forma en que actúa el jugador. Ya veremos aquí se voltea de un lado a otro, lo que se ve bien. Sólo vamos a cerrar eso. En realidad, probablemente debería cambiar eso para que cuando tengamos la secuencia de muerte, no terminemos de inmediato el juego. Pero sí, no vamos a preocuparnos por eso ahora mismo. En realidad, nos preocuparemos por eso en otro momento. Porque lo que estamos haciendo aquí es que simplemente lo estamos cambiando a la misma habitación. Entonces el objetivo de la habitación cambiará efectivamente. Pero me estoy desviando. Nos preocuparemos por eso más tarde. Ahora agregaremos una pequeña clave de reinicio, que es solo para probar. Tecla pulsación letra R. Simplemente pondremos esto como prueba para que sepamos y es gaming. Empezamos, eso es solo para que podamos reiniciar en otro punto. Aquí hemos cometido un error fatal iniciándolo en cero. Lo que en realidad queremos hacer es iniciarlo a la una. Ahora ya ves cuando movemos a nuestro personaje, aquí hay un poco de efecto flipping Eso es hermoso, eso es lo que queremos. Lo que también hemos establecido aquí es la velocidad de la imagen a cero. Ahora queremos cambiar eso. También tenemos algunos estados diferentes aquí. Si SP no es igual a cero, entonces la velocidad de la imagen es igual a 010. El índice de Sprite iguala al jugador quieto, está quieto. Cuando está en el aire. Queremos que el índice de imagen sea igual a cero. Ahora bien, si HSP, este es nuestro estado inactivo. En realidad, queremos que el estado saltador anule esto. Eso va a venir en segundo lugar. Recuerda, estos códigos son un trozo de código se hacen secuencialmente Si HSP es igual a cero, ya que en el reproductor no se está moviendo, el índice de sprite no es aún jugador todavía, entonces el índice de sprite se convertirá en jugador Será igual a uno. No necesitamos el final en realidad, necesitamos el punto y coma, incluso la velocidad de la imagen será igual a uno Esto lo conseguirá animación de Sidell. El siguiente que queremos es si HSP como velocidad M no es igual a cero ya que en el jugador se está moviendo, entonces volvemos a hacer lo mismo, pero lo configuramos para correr Por lo tanto, debemos tener diferentes estados para anotar diferentes animaciones Y esto debería comenzar a hacer que nuestro jugador se sienta mucho más vivo. Sin embargo, lo que hemos hecho aquí es que nos hemos topado con un pequeño error en 86. Esta es la línea 86. Esto se debe a que hemos usado un comer en lugar de un punto y coma. Siempre es importante revisar tu código, ¿verdad? Deberíamos ver ahora una mejora. Echemos un vistazo y veamos cómo resulta eso. Verás, en realidad tengo que dejar de encontrarme con ese pico, dificultó el juego. Aquí vamos. Ahora tenemos un poco de animación. Aparece cuando se está ejecutando, haz una animación de carrera. Hace un pequeño salto de animación. Lo que realmente podemos ver aquí es que a pesar de que estamos obteniendo la animación para ejecutarla cuando está inactiva, no está haciendo la animación inactiva. Creo que esto es porque tenemos aquí el índice de sprites igual Si VSB es igual a cero, eso lo está cambiando automáticamente a uno por jugador todavía Sin embargo, si HSP es igual a cero, necesitamos deshacernos de eso porque eso impide que se ejecute la animación Ahora deberíamos ver animación inactiva. Ahí vamos otra vez. Es importante probar, Es importante probar tu código. Lo que hacemos, fíjese aquí, notará que hay ciertas cosas que suceden con el tiempo cuando hacemos estas lecciones. Tengo que dejar de hacer eso. Gran parte de esta lección es solo que me encuentro con ese mismo pico. Bien, lo que notamos ahora es que nos están atrapando en esta pared. Ahora bien, ¿por qué está pasando eso? El cuadro de contorno de sprite está cambiando. Cuando el sprite vuelve a cambiar, está detectando que estamos atrapados en una pared Ahora bien, esto es importante cuando miras la máscara de colisión. A éste y a éste, son muy diferentes. Lo mejor que podemos hacer aquí es cambiar esto manualmente para que coincida con lo que ya tenemos. De esta manera no detectará una colisión porque la colisión se detecta con la máscara de colisión, la caja límite y no el propio sprite del jugador Ahora deberíamos encontrar que no nos estamos quedando atrapados en las paredes. Ahí vamos. Ahora estamos teniendo una animación inactiva. Animación de salto. Cuando nos movemos, está cambiando a una animación de movimiento. Ves que se ve mucho más vivo que antes. Bien, justo antes de pasar a la siguiente parte, te has dado cuenta de cuál es el problema. Si recuerdas, antes noté un pequeño problema al probar el juego. Aquí es donde entran las pruebas a medida que avanzas. Donde cuando corres en ella va a cero. Lo que viste en la parte superior derecha, ahí estaba yo tratando de determinar el problema averiguando cuál era el valor objetivo de la habitación Lo hice poniéndolo en un azul brillante y simplemente dibujando el valor objetivo de R a medida que avanzo. Resulta que como Gamemaker hace numéricamente los activos de la habitación 0123 y así sucesivamente Lo que estamos haciendo es que estamos comprobando si cuando cambiamos de habitación es igual a cero, es leer el nivel uno como cero, por lo tanto está haciendo un reset o va al final. No queremos que eso suceda. Vamos a cambiar esto a menos uno. Si recuerdas cuándo tenemos la victoria, estamos fijando esto también en menos uno. De esta manera restablecerá el juego automáticamente porque, aunque detecte que es cero, dirá que es una secuencia de muerte. Ahora está operando como debería. Eso está bien. Solo un poco de solución de problemas ahí a medida que avanzamos. Entonces recordarás de nuestra última lección, tuvimos una encantadora no puede completar este nivel. Quién sabía que este pico y un enemigo me detendría. Ahí vamos. Ahora pasará al siguiente nivel, o en este caso, cerrará de nuevo. Esto nos lleva a nuestra siguiente parte porque lo que recuerdas es que en realidad teníamos nuestro P Ahora nuestro lop entró del bar cerrado. Creo que se llamó el bar cerrado. Sí, vamos a hacer esto, vamos a tomar estos valores y los vamos a utilizar para nuestro próximo bit de animación solo para agregar algunos efectos más. Si tomamos nuestro chip de computadora aquí, lo que queremos hacer es agregar un valor show y mostrar el objetivo va a poner estos dos a cero. Lo que vamos a hacer, tomando lo que aprendimos con nuestro P de la última lección, que está aquí. Vamos a reemplazar estos valores y mostrar e y mostrar, y mostrar aquí. Y básicamente vamos a configurarlo así. Si configuramos la alarma en digamos 30 más random, 30, en realidad será aleatoria para un entero porque random incluye números redondeados, números no redondeados y sí incluye solo un número sólido. Entonces también haremos lo mismo aquí. Pero lo que haremos es hacer show ya sea diez. Bueno, en realidad no hay tenis demasiado. Ya sea tres o menos tres, y esto debería crear un efecto hinchable De hecho lo haremos un poco más a menudo, lo haremos a las 20. Lo que haremos ahora, si recuerdas nos llevamos aquí el evento del cajón. Dibujaremos sprite. Esto será como antes, iremos sprite la x, t en Vax Tenemos más variables aquí. Este será el índice de sprite, índice de imagen x e y pero en la Y también vamos a sumar la variable que acabamos de configurar aquí, que es y, show Eso le va a dar un divertido efecto hinchable. La escala va a ser la misma imagen, escala x, escala y, y la rotación y lo mismo con ella. Y la imagen alfa de la transparencia. Ahora lo que deberíamos ver es un efecto hinchable un poco divertido Con nuestros chips de computadora, podemos ver que están haciendo un pequeño efecto hinchable lo que los hace aún más divertidos e interesantes de coleccionar También podemos hacerlos secuenciales, en lugar de simplemente ir al azar hacia arriba o hacia abajo. Aquí tomamos el chip de computadora, vamos a hacerlo de manera ligeramente diferente en la alarma. Si y muestra t es igual a tres, entonces muestra t es igual a menos tres. L y muestran t es igual a tres. De esa manera, si son tres, ponlo en menos tres. Si no, ponlo en tres. Ahora veremos que alternarán arriba y abajo. Y eso hará que se vean aún más divertidos y aún más atrayentes para coleccionar como divertidos pequeños objetos hinchables También podríamos cambiar esto para que parezca un poco más como si estuviera rebotando arriba y abajo con más frecuencia De nuevo, es simplemente afinarlo para que se adapte al tema de tu juego. Ya veremos que se ve mucho más atractivo y mucho más divertido de coleccionar Hagámoslo. Vamos a recogerlos. Vamos a topar a este enemigo. Y ya ves ahora tenemos algo de movimiento. Ahí vamos. En esta lección, hemos agregado algunas animaciones. Hemos hecho una rápida resolución de problemas con uno de nuestros errores en el juego. Y también hemos hecho un efecto hinchable. Así que nos hemos divertido un poco. Y también hemos aprendido algunas lecciones importantes sobre cómo verificar tu código y verificar cómo se traduce. Nuevamente, mucho de esto es a medida que avanza y asegurándose de que funcione con frecuencia en las pruebas de juego, y simplemente dándole vida un poco más. En la siguiente lección, vamos a estar agregando algunos trucos Vamos a estar trayendo más vida a otras partes del juego. Y vamos a estar armando todo cada más hasta que tengamos un juego completo. Así que estén atentos para eso. 15. Mecánicas atractivas para los juegos: Bienvenido de nuevo a Gamemaker Two D Platform Workshop. Ahora en una de las lecciones iniciales que mencioné, vamos a agregar un Truco a esta plataforma El truco es cuando tienes una batería y se agota, explotarás y morirás Así que tienes una cantidad de tiempo establecida para completar el nivel de manera efectiva en función de tu movimiento. Por lo que hay que escoger la ruta de movimiento más efectiva alrededor del nivel. Es importante tener un truco no solo en plataformas, sino en juegos en general Algo para que destaque. Pero si recién estás comenzando, a veces es mejor bajar primero la mecánica central. Pero veamos este truco y veamos qué podemos hacer. Entonces necesitaremos dos valores. Vamos a hacer batería máxima, y vamos a ponerla en 100. Ahora vamos a ponerlo más alto que eso en el futuro, pero por ahora sólo vamos a fijarlo en 100 solo para que podamos comprobar que funciona. Y entonces vamos a hacer batería cur o corriente. Y vamos a configurarlo para que coincida con la batería max. Ahora vamos a ir a tomar en el movimiento. Entonces ves aquí es donde nos movemos horizontalmente. Lo que vamos a hacer es si velocidad horizontal HSP no es igual a cero, la batería batería Barty menos igual a uno En nuestro evento de sorteo, podemos comprobar cuál es ese valor dibujando el texto en la coordenada x, y -40 Entonces está por encima de nosotros, el valor de la batería ur, deberíamos ver. Ahora, cuando realmente nos movemos horizontalmente, el valor de la batería bajará. Ves aquí son 100 y va a drenar muy rápido. Vamos a necesitar fijarlo mucho más alto que eso, pero eso es sólo a modo de ejemplo, vamos a dar nuestro valor de paso. Lo que podemos hacer es al final aquí, si el valor de la batería, batería c es igual a cero, entonces solo vamos a hacer el evento de secuencia de muerte usuario cero. Tan simple como eso. Ahora esa va a ser una forma muy sencilla de asegurarse de que la batería, cuando se drene, comprueba si es cero Y si lo hace, entonces morirás simple y llanamente. Ahí lo tenemos. Ahora claro, lo que también queremos hacer es en realidad la batería en sí, porque tener un número en pantalla simplemente no parece atractivo. Vamos a usar este icono aquí. Lo que podemos hacer con esto es que podemos tomar a nuestro jugador y dibujar este icono arriba. Entonces vamos a tomar esto, vamos a quitar el texto del sorteo. Y en cambio vamos a dibujar sprite. Ahora este sprite va a ser icono de batería, y lo vamos a dibujar con una sub imagen de cero en la coordenada x Y vamos a comprobar, veamos cómo se ve y -35 Ahora es importante antes de hacer esto, dibujamos establecer el alfa en uno y dibujamos establecer el color dos blancos. Por lo tanto, lo que estamos haciendo con esto es asegurarnos de que se está restableciendo a valores Vs Si usamos dibujar el color del texto en cualquier otro punto, entonces no va a interferir con esto. Es decir, dibujando arriba, está un poco alto, así que tal vez vamos a cambiar eso a 20. Eso debería quedar bien. Eso debería situarse justo por encima del jugador, porque recuerda que el punto de origen del jugador está justo en medio de un sprite Por lo que queremos asegurarnos de que destaque un poco más alto. Y ahí vamos, tenemos nosotros mismos una batería. Ahora lo que vamos a hacer una vez que hayamos dibujado esto, es establecer el color en, digamos, una bonita línea. Como un bonito verde brillante. Por supuesto, podemos cambiar esto a medida que avanzamos, pero aquí es donde entra la diversión. Vamos a dibujar un rectángulo. Ahora este rectángulo va a comenzar. Queremos que empiece aquí. Queremos que comience en 22 en comparación con el centro medio, que es 1210 Eso es ocho, y eso también va a ser diez a la izquierda y ocho más arriba. Esas van a ser las coordenadas de inicio. Ahora x, necesitamos ver con cuánta habitación estamos trabajando aquí. Si volvemos a tomar esto a la derecha, vemos que tenemos 21.2 así que eso nos da 19. Vamos a poner esto de nuevo al centro medio. Vamos a tomar la fracción de batería, batería, batería sobre batería max. Eso nos va a dar una fracción. Y luego lo vamos a multiplicar por 19. Ahora eso se va a sumar a nuestro punto de inicio original, que es X menos diez. Vamos a poner eso, vemos que va a bajar a medida que la batería baja. También tenemos una cierta cantidad de espacio Y para tratar. Tenemos en cualquier lugar 2-8 Eso es ocho menos 26. Espero que se te ocurra eso. Empezamos en Y menos ocho. También vamos a Y menos dos y no queremos que sea un esquema. Por lo tanto, esto debería ver aparecer una representación de batería de esta batería. También me he dado cuenta, empezamos a las -20 Nos vamos a asegurar que eso es 28.22 Lo que deberíamos ver es que la batería en sí va a empezar a agotarse a medida que avanzamos Aquí vamos. Eso es un poco alto. En realidad, creo que eso está un poco apagado, pero se puede ver el drenaje de la batería a partir de 52. Bien, Eso es tres por encima 23.17 Aquí es donde debemos recordar que el punto de origen medio es sumamente importante porque necesitamos entender dónde va a estar dibujando ese ícono de batería Creo que lo que tenemos que hacer es 16, porque va a dibujar ese píxel hacia abajo. Y de igual manera, creo que esto es 18. Nuevamente, prueba y error, hay que estar en una posición donde pueda verificar y dibuja precisamente donde en realidad ni siquiera 16. Debe ser 18. Debería ser uno más arriba, no uno más abajo. Esto, por lo tanto, debería dibujar una buena representación de cuánta batería tenemos. Ahí vamos. Eso se ve bien, y como pueden ver, la batería se agota. Ahí vamos. Ahora hagamos eso de manera ligeramente diferente. Hemos puesto esto solo en nuestra línea en este momento. Cambiemos esto ligeramente. Tomemos una nueva variable, local para dibujar evento llamado VAR BP para porcentaje de batería. Pongamos esto al 100. Ahora vamos a llevar la batería c sobre la batería max. Esta fracción, digamos que esta veces 100 es lo que BP va a igualar. Eso nos va a dar un porcentaje. Ahora vamos a comenzar configurándolo en línea. Entonces si BP es menor que decir, 50, va a cambiar eso para dibujar conjunto de precisión de círculo de color. A veces se llenará automáticamente, y hay que tener cuidado con eso. Cambiémoslo a naranja. Y luego usando el control D para duplicar esa línea. Bueno, vamos a hacerlo de cuatro colores. Si es a 7.050.20 y vamos a hacer, digamos, amarillo, naranja, entonces la batería roja está realmente a punto Y eso debería darnos entonces, un ligero aumento de la sensación de urgencia cuando la batería está a punto de agotarse. Ahí vamos, mira. Ahora la batería está casi apagada y estamos muertos. Eso, por lo tanto, muestra que la batería se agota ligeramente. Agreguemos también un poco de efecto de explosión. Ahora la razón por la que queremos un poco de efecto de explosión es porque en lugar de simplemente crear esto de inmediato, vamos a hacernos un poco más de un efecto para cuando nos quedemos sin batería. Ahora tengo una hoja de sprites para esto. Te voy a enseñar cómo hacer una hoja de sprites para los que no saben, una hoja de sprites se ve así Es un conjunto de imágenes. Por lo tanto, cada uno de estos representará un fotograma. Pero no podemos importar esta imagen tal como está, porque esa es sólo una imagen gigantesca Lo que realmente tenemos que hacer aquí es que necesitamos importarlo como un sprite Ahora la forma en que hacemos esto, creamos un sprite en blanco. Llamemos a esto S explotar. Cuando abrimos S explota, lo que tenemos que hacer haciendo doble clic en esto, vamos al editor de imágenes Ahora con el editor de imágenes, tenemos una opción aquí arriba para imagen y vamos a importar una imagen de tira. Ahora bien, si entramos en nuestro set de explosión aquí, verás que tenemos algunas opciones. Cada cuadro es de 100 por 100. Hay 36911 en 11 por fila, y hay 99 marcos Ahora convertimos esto, dirá que te estás convirtiendo en una imagen. Verás que ha tomado cada uno de esos espacios que hemos dado, y lo convertimos en un marco. Esto nos da un efecto explosivo muy agradable, así que podemos golpear play. Mira eso. Cambiemos esto hasta 60 porque ahí son casi 100 cuadros. Son 99 cuadros. Queremos que dure un segundo y medio. Ahí vamos. Ahora vamos a crear un nuevo objeto, y esto solo será por el efecto explosión. Explotar, explotar, explotar. Ahí vamos. Y vamos a asignarle este sprite. Ahora lo que podemos hacer es, en lugar de crear inmediatamente este nivel cerrado, que es lo que vamos a hacer en algún momento, vamos a comprobar el número de instancia O. Explotar no es igual a cero, entonces vamos a hacer esto más vamos a hacer en realidad, solo lo dejaremos como está porque vamos a tener la explosión un sistema diferente Vamos a hacer fin de animación. Con el fin de la animación, entonces podemos repetir este proceso. Podemos simplemente crear el efecto cercano. Vamos a establecer la velocidad de la imagen aquí en una ahora. Lo que pasaría es donde tenemos el evento paso aquí, lugar de evento usa cero en lugar de evento usa cero por sí solo cuando nos quedamos sin batería. También vamos a crear en las coordenadas X e Y a la misma profundidad menos I, digamos menos uno, así destaca la explosión Ahora, cuando realmente nos quedemos sin batería, tendremos un efecto de explosión. Y entonces en realidad vamos a poder terminar el nivel basado en quedarse sin vida. Ahora como pueden ver, ese efecto de explosión sí comenzó, pero esto debería ser igual a cero. Si no es igual a cero, es importante recordar la diferencia entre si y si no. Ahora deberíamos ver la explosión. Entonces lo que podrías haber visto es que eso también inició de nuevo la animación porque hubo esa breve pausa. Podemos remediar esto al final de la animación diciendo que la velocidad de la imagen es igual a cero, visible es igual a falso. Pero claro, al inicio queremos visible para igualar verdad, cualquier cosa que cambiemos. También debemos ambientar en un evento creativo solo para estar seguros en caso de que algo lo afecte más adelante. Ahora podemos ver la explosión se detiene y luego explota el nivel nivel termina. No obstante, si acabamos de golpear un pico enseguida, morimos. Por lo tanto, esto nos da un poco más de incentivo para no quedarse sin batería porque nos da una explosión dramática. Podremos ver entonces que la batería real es importante para el funcionamiento de los niveles. También podemos mostrar esto a través del diseño de niveles. Es importante demostrar que a través del diseño de niveles queremos pasar por mostrar, en lugar de contar lo más posible cuando creamos un juego, no queremos bombardear al jugador con un muro de texto, porque al hacerlo, no van a querer jugar Simplemente no quieren, solo quieren sumergirse directamente. A menos que sea un juego muy pesado impulsado por la historia, algo así, no va a ser tan importante bombardearlos con palabras En términos generales, cuando se trata de diseño de niveles, vas a querer demostrar cómo funciona esa batería, quizás a través de un nivel de introducción. Y lo mismo para cosas como picos, enemigos. Y ahí es donde vamos a investigar diferentes formas en las que podemos introducir estos trucos. Ahora bien, así es como agregamos el truco a nuestro juego. Entonces está empezando a parecer más una interesante plataforma de puzzlykd Vamos a ampliar esto en una lección diferente. Vamos a agregar algunos, no gimmicks, sino diferentes elementos sólo para darle vida al juego un poco más Entonces más enemigos, más coleccionables como una llave y una cerradura. Esos suelen ser tropos de un juego de plataformas. Y también vamos a hacer entonces un poco más de nivel diseñado para mostrar cómo introducimos eso. Una vez que se introduzcan esos, empezaremos a atarlo todo junto con una pantalla de menú, y antes de que nos demos cuenta, volveremos a tenernos a nosotros mismos. Así que únete a mí en la siguiente lección para eso. 16. Diseñar una nueva estrategia e implementación para el enemigo: Bienvenido de nuevo a Gamemaker Two D Platform Workshop. En la última lección, hicimos el truco para nuestro juego, la batería se acaba a cero, y cuando lo hace, terminas muriendo y cuando lo hace, terminas muriendo Tenemos algunos retos. Tenemos nuestras cosas para recoger nuestros chips de computadora, y por supuesto tenemos a los enemigos. No obstante, hasta el momento solo tenemos pinchos y el caminante, no mucha variedad. En esta lección, vamos a hacer un nuevo enemigo. Lo que vamos a hacer es una bola de espiga oscilante que está unida a una cadena, que está unida a una caja. Y va a balancearse de izquierda a derecha, o va a hacer un bucle 360. Al hacerlo, te voy a enseñar un poco de programación y también voy a mostrarte una nueva forma de definir variables. Empecemos. Nuestro primer objeto va a ser la caja de picos, así es como la vamos a llamar. Y tenemos un sprite listo por ahora. Lo que tenemos que hacer aquí es hacer definiciones de variables. Ahora estas variables se van a establecer a medida que se crea el objeto. Y es una excelente manera de ajustar las variables cada vez que creamos la instancia. Lo cual realmente es útil para cosas como esta y otras cosas que requieren un poco de varianza dependiendo de cómo las creamos y qué hacemos. Empecemos por crear estas variables haciendo clic en A. Ahora la primera variable que vamos a hacer va a llamarse longitud. Ahora ese va a ser el largo de la cadena. Podemos establecer el valor por defecto para digamos 48. Ahora también tenemos tipos, real, integust, string, booleano, etcétera, etcétera Vamos a hacer reales, estos van a ser números reales. La siguiente variable que vamos a agregar es la velocidad máxima, así que esa va a ser la velocidad en su máxima. Vamos a establecer eso por defecto cuatro. Y luego vamos a establecer, vamos a ir con retraso. Ahora el retraso que queremos porque lo que queremos que suceda aquí es para quizás una cadena de ellos yendo a una velocidad ligeramente diferente. Vamos a querer que comiencen en diferentes momentos. También vamos a hacer modo. Ahora modo vamos a establecer como cero. Ahora eso va a significar balancearse y uno va a significar 360, como un ángulo de 360. Te voy a mostrar todo eso mientras codificamos. También vamos a hacer Durgo go por defecto va a ser uno para derecha, cero, izquierda, derecha uno Lo que vamos a hacer, así como en el evento creativo aquí, vamos a agregar algún código comentado. Ahora bien, esto es solo para nuestra propia referencia, por lo que podemos referirnos de nuevo a él cuando sea necesario. De nuevo, ves aquí ir es igual a uno para la derecha y cero para la izquierda, uno para 3600 para el swing. Entonces vamos a configurar la codificación real para esta alarma. Cero va a igualar uno más retraso. Eso es porque queremos que sea algo así como un retraso y la alarma no se active. Si se pone a cero, también vamos a establecer la dirección en 358. Ahora recuerda que estamos usando direcciones cardinales. Obtener la cámara bien. Estamos alrededor del lado derecho. No puedo enfrentarme, ahí vamos. Esa dirección va a ser cero. Colgar en esa dirección, esa dirección es cero. Eso es 270 y la izquierda es 180. Me doy cuenta de que mi cámara está volteada, así que es difícil hacer ese punto Pero las direcciones cardinales significan que la orientación hacia abajo es 270. Ahora que hemos configurado la alarma, la alarma también va a hacer que el retraso sea igual a cero. Eso básicamente hará que el valor vuelva a cero una vez que se haya producido la alarma. Ahora toda la acción va a tener lugar en nuestro evento de pasos. Entonces esto va a suceder a cada paso o cada fotograma. En primer lugar, si modo es igual a cero, modo igual a cero, como podemos ver para referencia aquí va a ser si está balanceando de izquierda a derecha La forma en que vamos a hacer esto es si dirección es mayor que 182, luego ir cítara Dirección a la que va, es igual a uno Ahora eso lo va a hacer volver a mover a la derecha. De igual manera, si la dirección es menor que 358, mayor que 358, o menor que 182, entonces Durgo es igual a cero Eso va a configurarlo para que vaya a la izquierda. Vamos a poner aquí un poco esa referencia. Cero es igual a izquierda, uno igual a derecha, solo así tenemos eso como referencia. Ahora lo que también vamos a hacer es en realidad hacer el swing. Si el retraso es igual a cero, entonces no siempre necesitamos el ven. Podemos simplemente abrir corchetes si estamos haciendo algún código aquí. Pero a veces es útil una línea de código agregue un n solo para que se vea un poco más coherente y puedas seguirla mejor con tus ojos. Realmente depende de tu propia estrella si hace igual a uno. Y vamos a sumar a la dirección más iguales, aquí es donde entra un poco de complicación. Uno menos el valor absoluto. Al igual que en el valor positivo de 270, la dirección hacia abajo menos dirección. Más de 90 veces por velocidad máxima. Ahora parece un poco complicado, pero no te preocupes, tenemos definida la velocidad máxima, ¿no? Sí, lo hacemos. Eso puede parecer un poco complicado, pero esto va a asegurar que tengamos una izquierda y una derecha lentas y graduales, en lugar de solo una inmediata. Queremos que parezca que llega a un alto. También vamos a duplicar esta línea nuevamente con nuestro control favorito D. Si ir es igual a cero, entonces vamos a hacer lo mismo pero menos. Y luego vamos a cerrar estos corchetes. Ahora eso está bien y es bueno para el swing, pero si el modo es igual a uno, va a ser mucho más sencillo. Si el retraso es igual a cero, entonces todo lo que necesitamos hacer es si ir es igual cero y la dirección más es igual a la velocidad máxima, entonces con nuestro control confiable D, si ir es igual a uno, entonces di menos es igual a la velocidad máxima, Eso mantiene una temperatura constante, dirección de temperatura y velocidad constante Ahora lo que tenemos que hacer, en realidad vamos a usar estas direcciones y valores de velocidad y mover la bola de pico en base a x e y. La x es igual al lugar de inicio donde realmente ponemos la caja, más longitud, sin longitud x. Lo que esto realmente hace es poner la longitud en una coordenada x e y, equivalente a un ángulo y una dirección. Esa va a ser la longitud. Hemos definido la longitud sobre la dirección. También definió la longitud. Se puede ver ese aquí. Entonces vamos a duplicar esto. Vamos a hacer control D y vamos a hacer es igual a y inicio más longitud y. De nuevo, longitud y dirección. Esto, por lo tanto, asegurará que se mueva en las coordenadas y y x equivalentes a la dirección a la que está mirando a la longitud que ya hemos establecido. Ahora una vez que tenemos eso en mente, lo siguiente es dibujarlo realmente. Aquí vamos a entrar en un evento de cajón. Ahora queremos dibujar la caja en el lugar de inicio. Queremos dibujar las cadenas. Y entonces queremos también dibujar la bola de espiga en sí. En primer lugar, vamos a dibujar conjunto alfa a uno y dibujar conjunto de color a blanco. Esta siempre es una buena práctica al inicio de cualquier evento de cajón en caso algún evento de cajón anterior no establezca esto o cambie el valor alfa o el valor de color, no queremos que se estropee. Lo primero es lo primero, vamos a dibujar una cadena. Vamos a necesitar un bucle de cuatro. Ahora cuatro, vamos a establecer la variable en 164. Loop continúa haciendo una acción varias veces hasta que se cumple una condición. La condición en este caso es mayor a 480 porque esa va a ser la longitud máxima. De manera realista vamos a usar, no queremos repetir demasiadas veces después de cada acción. Esto es lo que va a hacer. Lo va a incrementar en 16 ahora 16 porque estamos en una grilla de 16 16 Aquí ven, este es un sprite de 16 16, como es nuestra cadena Vamos a hacer esto por lo largo. Y lo que vamos a hacer es si longitud es de una manera mayor igual a I, entonces vamos a dibujar un sprite Ahora en este caso, vamos a dibujar sprite extendido porque queremos que esté en ángulo ¿Cómo lo llamé? Cadena de espiga. Así lo llamé, cadena de picos, la subimagen real es cero. Ahora la x va a ser x inicio más longitud. Va a ser x y la longitud y dirección, pero y va a ser similar, Y inicio. Y luego vamos a sumar longitud y. De nuevo, eso va a ser y dirección. Entonces una vez que tomemos en cuenta la escala, eso va a ser 1.1 El ángulo real va a ser dirección más 90. Debido a que esto está orientado hacia abajo, queremos girarlo, por lo que es dirección más 90 color. Sólo vamos a hacer blanco porque no queremos que se mezclen colores en él. El alfa de longitud aquí sólo va a ser uno. No necesitamos extenderlo más allá de eso. Eso por lo tanto es un bucle de cuatro para contener nuestra propia cadena. Ahora una vez que hemos hecho eso, tenemos nuestro bucle de cuatro en su lugar. Lo siguiente que tenemos que hacer es dibujar bola de espiga sprite x. y esta va a ser bola de espiga Ahora esta va a ser una de una sub imagen o cero. No importa, x e y porque esas son las coordenadas x e y reales. Imagen x escala e imagen y escala, 1.1 realmente no importa. La varitación en esta va a ser cero, va a ser blanca Nuevamente, no hay mezcla de colores. Y la imagen alfa va a ser una, claro. Por último, también vamos a dibujar la caja real. Vamos a tomar el nombre de la caja. Vamos a usar los mismos valores, pero va a ser x start e y start. Ahora esto quiere decir que va a dibujar en la posición inicial. Ahora cuando entramos en nuestra habitación, lo que podemos hacer aquí es asegurarnos de que esto esté en la capa de instancias. Eliminemos a este tipo, porque vamos a reemplazarlo por un enemigo más duro. Pongamos esto aquí. Lo que también podemos hacer es asegurarnos de que las fichas de arriba, si me deshago de las instancias, estas, hagamos esto invisible. Podemos ver que estos están en realidad a continuación. La bola de espiga aparecerá arriba. Ahora lo que podemos hacer en nuestra capa de instancia es hacer doble clic en esta y verás que tenemos las variables. Aquí es donde podemos comenzar a editar usando el lápiz como aquí. Podemos cambiar esto, por ejemplo, a 32. De igual manera, podemos cambiar la velocidad a seis. Hace muchas cosas por defecto, pero puedes ajustarlas automáticamente. Eso, por lo tanto, lo haría más variado a medida que avanzas. Para que puedas tener una fila de ellos con diferentes longitudes, diferentes velocidades, diferentes retrasos que una cosa es tener en cuenta también. En realidad, un ligero error en el código. No deberíamos hacer más más 16. Hacemos más iguales cuando estamos agregando algo, relativamente hablando, es más igual. Si queremos agregar uno a una variable, más es igual a uno, me doy cuenta de un errata que pongo más Aprendemos mientras estamos aquí. Cambié la posición x a x. No cambié la posición y para comenzar de nuevo. Se trata solo de asegurarse de que está revisando su código antes de ejecutar las cosas, solo para asegurarse de que todo va a funcionar como esperamos , como podemos ver. Ahora bien, esto va a parecer un poco peculiar porque esto está por encima de esta capa aquí, realidad, esto debería estar encima de la bola de espiga u otra vista de la sala. La bola de espiga debe estar en la parte superior de esta tubería. Podemos arreglar esto simplemente entrando y verificando qué profundidad es la capa de teselas. Ahora la forma en que verificamos esto es si solo muevo mi cara hacia arriba la manera en que esa profundidad es igual a cero cara atrás. Lo que vamos a hacer aquí es que vamos a entrar en el evento creativo de nuestros libros de Spike. Y vamos a establecer la profundidad sólo en menos uno. Ahora no queremos asegurarnos de que otras cosas estén arriba o por debajo de él, así que tenemos que asegurarnos de que el nivel abierto y el nivel cerrado sigan en la cima. Cuando estás cambiando las profundidades manualmente, puede afectar las cosas si tienes cosas como una instancia de control, el objeto de control que tiene todos los demás aspectos que pueden afectarlo. Porque eso entonces estará en la cima si lo tenemos puesto demasiado alto. Por ejemplo, si configuro la profundidad de esto para decir -1,000 deberíamos, por lo tanto, comenzar a ver que realmente aparecerá en parte superior de la transición del nivel de apertura Como puedes ver en -1,000 está encima de esa capa. Tenemos que configurarlo en uno. Tenemos que ser cautelosos, cómo estamos ajustando las profundidades manualmente. Ahora aquí lo tenemos. Tenemos un jugador de spike. Bola de espiga. Una pequeña criatura desagradable, pero por suerte está muy alto, pero no nos va a pegar. Sin embargo, aquí es donde entran las variables. Vamos a establecer la velocidad máxima en tres, pongamos la longitud en 128, vamos a establecerla mucho más tiempo. Y aquí es donde tenemos la varianza pasando. Ahora vamos a ver una bola de pico mucho más lenta, pero mucho más grande. Mira eso. Mucho más amenazante De hecho, probablemente a amenazante, Vamos a fijarlo en 90 Todo se trata de ensayo y error, como siempre digo, cuando se trata de cosas como esta. Solo prueba diferentes cosas y mira qué cabe aquí. Vemos bola de espiga de aspecto muy amenazante. Ahora no queremos toparnos con eso, o más bien no importa porque no hemos programado una secuencia de muerte. Pero esto es muy fácil porque ya tenemos un evento para la muerte, la secuencia de muerte. Si entramos en nuestro jugador, puedes ver aquí, actuaremos de la misma manera que si estuviera en colisión con un pico. Todo lo que tenemos que hacer aquí es duplicar este evento y cambiarlo a colisión. Ahora va a ser colisión con la caja de púas porque recuerdas que lo que en realidad estamos dibujando es la bola de espiga. La caja es solo una representación x e y de dónde comienza. Ahora cuando chocamos, nosotros, lo hacemos ahí, tenemos un nuevo enemigo interesante que podemos usar en nuestro juego Vamos a hacer algunos enemigos más, no sólo enemigos. Pero vamos a hacer algunos pequeños consejos y trucos más como llaves y cerraduras y plataformas que cambian solo para darle vida a nuestro juego un poco más. Una vez que hayamos hecho eso, comenzaremos a cerrar algunos sonidos y música y una pantalla de menú y tendremos un juego completo. Así que estén atentos para eso. 17. Integra las llaves y las cerraduras en el diseño de niveles: Bienvenido de nuevo a Gamemaker to D Platform A Workshop. Bienvenida de nuevo. Ahora en su última lección, hicimos un nuevo enemigo. Una bolita puntiforme. Lo cual está todo bien y divertido. Pero también necesitamos algunos obstáculos más en nuestro juego. Los obstáculos son inherentemente importantes para hacer que el juego se sienta un poco más vivo y un poco más interesante Y qué mejor obstáculo que la clásica llave y cerradura. Entonces claro, con un desbloqueo de llave, hay diferentes cosas que podemos hacer. Pero funciona de la misma manera. Recoge las llaves y luego se desbloquean las cerraduras. Ahora por supuesto, puedes variar esto con diferentes colores, diferentes tipos, pero aquí solo vamos a ir por un sistema de llave y cerradura muy simple. Entonces lo primero es lo primero, vamos a ir con key, que es el objeto key, vamos a asignarle esa la clave sprite Ahora lo que hacemos con este es muy parecido a lo que hicimos aquí donde queremos un bonito efecto hover arriba y abajo Y lo vamos a lograr simplemente copiando y pegando. También vamos a asegurarnos de que tengamos un efecto lop. También vamos a hacer aquí en realidad, en lugar de copiar y pegar, también podemos simplemente copiar y pegar todo el evento. Como puedes ver, escribimos, hacemos clic en él y lo pegamos. Y entonces aquí dibujamos lo mismo que antes. Copiamos y pegamos. Y eso le dará un bonito efecto flotando o bobbing. De igual manera, cuando se destruya la clave, copiaremos, la pegaremos aquí, y crearemos ahora las partículas. En este caso, creo que sólo vamos a hacer los puntos. Y la razón es que, tengo una idea que mostrarte, que creo que va a hacer que destaque un poco. La llave, vamos a conseguir este color. Hacemos doble clic para entrar en nuestro editor de imágenes. Agarra este color aquí. En realidad vamos por el color Goldie. Creo que probablemente sea mejor. Ese es el valor hexadecimal que necesitamos. Entonces vamos a copiar eso. Y eso va a hacer efectos de partículas que queramos. Vamos a pegar eso aquí, y vamos a tener, como se puede saltar sobre él, se puede ver un bonito color oro De igual manera, cuando choques con el jugador, va a destruir agradable y sencillo Tenemos un pequeño coleccionable de llaves. Ahora vamos a poner la cerradura. Crearemos un nuevo objeto llamado lock. Ahora la cerradura va a actuar como una pared o asignarle sprite de bloqueo Y actuará de la misma manera que nuestro muro. Entonces puedes ver aquí cuando entramos en nuestra pared tiene un paso a través la pared cuando era niño pero también necesitamos esta cerradura cuando éramos niños también. Lo arrastramos aquí o podríamos asignarlo aquí. Pero de cualquier manera, si lo hacemos, veremos ahora que es padre es el objeto de muro. Eso significa que cuando choques con él, actuará de la misma manera que cuando choques con una pared Sin embargo, lo que va a ser diferente es nuestro evento paso a paso. Ahora nuestro evento paso, vamos a hacer una simple comprobación. Y esa comprobación va a ser si clave de número de instancia es igual a cero, entonces instancia, agradable y simple. Y claro, igual que lo hicimos antes con éste, o de hecho con éste de aquí arriba. Tomaremos éste, por ejemplo, destruir. Podemos copiar este evento, y podemos pegarlo aquí. Y eso creará una pequeña explosión, un pequeño efecto de partículas por así decirlo. Tomemos el color más oscuro para éste. Tomemos el color realmente oscuro, este de aquí, y el color ligeramente rojo, y tomaremos el valor hexadecimal. Copiaremos y pegaremos. Perderemos el botón OK, y luego lo intentaremos de nuevo. Ahí vamos, en nuestras partículas, la vamos a pegar aquí. Ahora verás que es el color rojo. Vamos a crear un poco menos, vamos a crear diez. Ahora la razón por la que quiero hacer eso es porque tengo un guión que mostrarles, lo cual creo que va a ser muy divertido. Ahora bien, este script va a involucrar un objeto separado, que vamos a nombrar por ahora, efecto split. Efecto split, de lo que queremos es de bloqueo es que simplemente se rompa en pedazos separados. Y eso va a ser muy divertido y un efecto diferente porque realmente los efectos son muy importantes en los juegos. Queremos que se sientan un poco más estáticos y un poco más vivos. Entonces vamos a establecer primero algunos valores. Vamos a hacer fade y offset. Explicaré qué offset hace más adelante, pero fade va a dictar si el objeto ha sido asignado o no a un valor true o false Y si es verdad, se desvanecerá. Estamos estableciendo el valor de velocidad a cero, también configurando la imagen alfa para que sea ligeramente aleatoria. La alarma primera alarma será ocho más, digamos al azar diez. En realidad, hagámoslo un poco más largo porque esta alarma va a ser alarma cero evento dictará que fatal se haga realidad En realidad, hagámoslo ocho. Veamos cómo se ve y podemos ajustarlo después alarma uno se configuró en uno. La razón por la que tenemos que hacer eso es porque en la alarma uno, vamos a empezar a configurar algunos efectos diferentes. Pero necesitamos que los objetos existan primero. Y voy a explicar lo que eso significa. Tenemos un ligero retraso de un solo fotograma. Ahora, antes que nada trabajemos con ese evento de alarma para poder explicar a qué me refiero en la alarma uno, qué vamos a hacer. Se establece, tenemos una variable llamada split. Lo que notarás es que no lo he configurado aquí porque voy a arreglar un guión que lo va a configurar. Si split es igual a cero dirección igual, vamos a aleatorizarlo un poco Aleatorio, 120 más 30. Hagámoslo. Usamos el control D. Duplicar la línea 12.3 y vamos a querer que vayan en diferentes direcciones Esto va a crear cuatro objetos separados que van en una dirección aleatoria. También vamos a usar el valor de desplazamiento que establecemos anteriormente. Offset es igual y eso va a ser sprite get width. Ese será sprite dividido sobre dos. Ahora el sprite split que nuevo es un valor que vamos a establecer de antemano Eso es algo para lo que vamos a usar nuestro guión. Podemos usar un script para definir estas variables ya que es lo primero que se llama. Si creamos un objeto en un script y le asignamos variables, éste las asignará y luego en la alarma, luego las ajustará dependiendo de qué sprite escojamos Porque queremos guardar este efecto por múltiples razones, queremos que se separe, así es como vamos a lograrlo. Entonces también, si la división es igual a cero, entonces x menos es igual a desplazamiento, Y menos es igual a desplazamiento. Esto es básicamente porque estamos usando el origen medio. Entonces necesitamos obtener el ancho del sprite y necesitamos ajustarlo en consecuencia para ajustarlo en consecuencia que no estén todos en el mismo lugar Porque queríamos lucir auténticos cuando se divide, pero todos estamos crujidos juntos, si eso tiene sentido aquí, si eso tiene sentido aquí, vamos a hacer solo X menos offset si split es uno, si dividir dos, si split es uno, Y menos offset, y si split es dos X o menos el offset, básicamente esto solo lo ajustará para que esté todo en su lugar y luego se desmoronará Ese es nuestro evento de alarma configurado. Solo para agregar un poco de sabor, hagamos ángulo de imagen. Digamos menos diez más 20 al azar. También tendremos que establecer la velocidad. La velocidad equivale a dos más, digamos dos más al azar. No queremos que se vea dos diferentes, digamos más 0.2 Ahora entraremos en nuestro evento de cajón, y aquí es donde tiene lugar toda la magia. Queremos dibujar parte de un sprite. Hemos estado configurando las variables. Necesitamos algunas variables tavisvent locales x e y L, y te mostraré cuáles son Ahora bien, si split es igual a cero, entonces x L e Y L serán igual a cero también, porque esa va a ser la esquina superior izquierda. Entonces lo que haremos es duplicar es 12.3 así que ese será el lado superior derecho Entonces esto lo establecerá en offset, que si recuerdas, es la mitad del ancho del sprite Si son dos, entonces es la esquina izquierda. Queremos que el valor y sea igual a offset. Si son tres, va a ser la esquina inferior derecha. Ambos van a igualar el offset. Nuevamente, como digo, esto es la mitad del ancho del sprite. Ahora lo dibujamos, sprite. Lo que tenemos que hacer es general. Vamos a hacer split de sprites. Ahora bien esta es una variable, nuevamente que se definirá en el guión que le mostrará en breve. En realidad, podemos hacer índice de imagen, en realidad no importa. Ahora bien, la posición X e Y, eso no es lo que viene aquí arriba. Si miras aquí, en realidad es izquierda y arriba. Eso es parte del sprite que estamos dibujando, lo estamos dibujando a partir de ese valor de desplazamiento Entonces la cantidad del ancho será, nuevamente, la mitad del ancho del sprite, que has definido como de offset y offset. Nivel ancho y alto. X e Y serán x e y. La escala de la imagen y la escala y de la imagen serán las mismas, así como el ángulo de la imagen. Debido a que lo ajustamos ligeramente, también podemos x, y. nosotros, también podemos el mismo script, un color variable. Un poco de color de cada esquina. Eso es lo que, 12 y 3.44 si quieres decir un poco de gradiente pasando, puede parecer bastante interesante Pero no lo vamos a necesitar porque sólo vamos a hacer la división de cada uno. Ahora bien, todo esto puede parecer bastante confuso, pero está bien. Todo va a caer en su lugar cuando recurrimos a los guiones. Vamos a crear una nueva división de script. En realidad, llamémoslo efecto split porque eso va a tener más sentido. Vamos con efecto split. Hagamos algunos guiones. Ahora notarás que una función se renombra automáticamente a sí misma. Eso es bastante práctico. Es una buena cosa que hacer. Vamos a cambiar este sprite de efecto split, la x y la y, lo que también vamos a hacer aquí es predefinir estas variables. lo que también vamos a hacer aquí es predefinir estas variables Esto lo hacemos poniéndolo en el nombre de la función, guión bajo x, guión bajo y, estamos haciendo guión bajo para que no colisionemos con ningún otro valor, variables que podrían estar predefinidas Ahora vamos a usar un bucle de cuatro. Recuerdas que en la última lección usamos una de estas cuatro variables y, en realidad no una. I es igual a 02 es menos de cuatro. En otras palabras, si yo es 012 o tres, entonces vamos a incrementar en uno y repetir el bucle Así funciona una caída. Es lo que estamos estableciendo. Lo que será condición es terminar el bucle y lo que hacemos cuando repetimos el bucle. Ahora aquí es donde hacemos con instancia, crear profundidad. Estas son las variables que hemos subrayado anteriormente. Podría decir profundidad menos dos, por lo que destaca. Y vamos a hacer efecto split. Este es el objeto que estamos creando aquí. Cuando hacemos caso de una instancia, creamos una sentencia width, lo que estamos haciendo es que estamos creando esta instancia. Y todo dentro de esta declaración width se llevará adelante a la instancia recién creada. Y aquí es donde realmente queremos poner las variables que ya hemos usado pero que no hemos definido. Sprite dividido Eso va a ser sprite de subrayado que vamos a definir cuando llamamos al script split va a igualar valor I, pero estamos incrementando aquí 123,012.3 porque Ahora cuando hacemos un llamado a esto, va a subrayar. ¿Por qué es eso lo subrayado? Sí, solo está tratando de cuidarnos. Gammek tiene una característica útil llamada pluma donde intenta predecir lo que estás haciendo Y si detecta que has nombrado variables de otra manera, va a decir, oye, ¿ te refieres a hacer eso? Estamos destinados a hacer eso, está bien. Ahora bien, aquí es donde en realidad recurrimos a este guión. Así que todo lo que tenemos que hacer ahora es hacer sprite split underscore. No lo subrayé, en realidad. Yo no lo llamé sprite split, lo llamé split effect Ahí verás, comenzará a llenar automáticamente lo que sospecha. Vas a poner, vamos a poner x, y y el bloqueo de sprite y eso va a crear eso También queremos entonces destruir la cerradura real. No son imagen destruir, instancia destruir. Se intentará autocompletar que en la mayoría de los casos es bastante útil Pero ahora podemos poner en este nivel niveles ya luciendo bastante llenos que vamos a hacer algunos niveles diferentes a medida que pase el tiempo. Esta es solo nuestra prueba, por así decirlo, podemos empezar a poner estas cerraduras y llaves. Entonces comencemos poniendo las cerraduras. Las claves, de nuevo, para ser bastante grandes y obvias. Eso queremos, queremos que sea muy claro que sean monedas viejas grandes. En realidad, antes de probarlo, solo para que tengamos un poco de maniobrabilidad, pongamos el paté de batería un poco más alto porque lo puse pongamos el paté de batería un poco bastante bajo para probarlo Ahora pongamos en la cerradura. Entonces, antes que nada, los querremos aquí solo para asegurarnos de que podemos seguir adelante con ellos. Y luego también los pondremos aquí solo para asegurarnos de que no podemos superar esta barrera. Lo que deberíamos encontrar ahora son las claves de las que actuarán. Tiene un ligero error aquí en el script de efecto dividido. Esto es interesante, es un símbolo inesperado. Y a ver si lo puedes detectar antes que yo pueda. Está en la línea siete. Ah, ahí vamos. Eso no es una coma, es un punto y coma, Aprendemos ahora mismo. Tenemos algunas cerraduras y algunas llaves. Ya tenemos esa. Conseguí esa. ¿Mirarías eso ahora? No se están desvaneciendo. No creo en la cerradura, realidad, en el efecto split, ahí está lo que me faltaba. Lo que necesitamos aquí es que se desvanezca correctamente. Eso es simple. Vamos a nuestro evento step dentro del objeto de efecto split. Si f es igual a verdadero, la imagen alfa menos es igual a 0.1 Reduce la transparencia si la imagen alfa es menor que cero y la destruye. Tan simple como eso. Todo está bien, la transparencia se desvanezca. Pero si en realidad no tenemos un comando para hacerlo, entonces espera. Ahora, aquí vamos. Elige las llaves hasta que Spiky Boy se escapa. Pero miras eso, un efecto split, para ir con nuestras cerraduras siendo destruidas. Creo que se ve muy bonito. Hemos aprendido un nuevo efecto que podemos usar en futuras lecciones. También hemos logrado hacer un buen sistema de cerradura y llave que también podemos usar en niveles futuros. Todo está empezando a unirse. Tenemos diferentes cosas que podemos agregar en diferentes lecciones. Entonces, por ejemplo, podemos considerar una retracción de picos. Retrayendo bloques, hay diferentes cosas que podemos hacer para dar vida a nuestro juego, y los vamos a explorar en la siguiente lección. Así que estén atentos para eso. 18. Una guía de diseño para crear púas retráctiles: Bienvenido de nuevo a Gamemaker two D platform, a Workshop. En esta lección, te voy a mostrar cómo hacer algunos picos retractores Pueden agregar un nivel diferente de desafío al juego haciendo que los picos aparezcan y desaparezcan. Y eso va a ser algo que queramos hacer. Entonces comencemos por hacer nuestro pico de retracción. Ahora lo que vamos a hacer aquí es usar el mismo que tenemos aquí, el pico superior. Los nombro de otra manera, en realidad tengo eso es arriba y eso es abajo. Eso debería ser al revés. Bien, mantengamos consistencia con el nombre del objeto. Vamos a darle a esto el pico inferior. Ligera situación de convención de nomenclatura ahí, pero no vamos a preocuparnos por eso porque todavía funciona en el evento create Vamos a definir algunas variables. Ahora estas variables que vamos a definir van a ser retraídas Eso va a igualar cero y retraerse. Ahora tal vez recuerdes, claro, que estamos usando t porque vamos a usar el Lop, el evento Lop mientras que el evento step es donde se lleva a cabo el Lop. Y esto va a ser retraer igual a p, luego retraer Targ, luego 0.2 solo para darle un bonito También lo vamos a hacer en el paso del evento se establece una alarma de cero a uno. Ahora la razón es porque vamos a hacer lo que hicimos antes y configurar algunas variables aquí. Ahora esto va a ser modo. Eso va a ser modo en cuanto a si los picos ya están arriba, ya abajo. Vamos a agregar retraso. Eso va a ir luego a cuánto comenzará, cuánto retraso tendré que empezar con cuánto retraso tendré que empezar, y luego intervalo. Y eso va a definir la rapidez con la que suben y bajan. Ahora, claro que queremos definirlos aquí, pero cuando los creamos, siempre podemos darles unos ligeramente diferentes. Vamos a establecer algún valor por defecto, cero estará abajo, digamos retraso. Empecemos a las diez y un intervalo de 60. Por lo tanto, si no hacemos nada, estos serán los valores predeterminados. Ahora con el cero de alarma establecido en un fotograma en, a un fotograma en si el modo es igual a cero, entonces vamos a establecer retraer y a cero también En realidad lo pondremos en 16. tirón de retracción también será igual a 16, pero solo se les llamará una vez solo para asegurarnos de que los colocamos en la posición correcta para empezar Por lo tanto, cero significa arriba, cero significa arriba y uno significa abajo. Ahora lo que también vamos a hacer aquí es alarma uno será igual a uno más retraso. Ese será el retraso inicial ahí. Entonces en la alarma uno, estableceremos si el modo es igual a uno, entonces el modo es igual a cero, lo contrario el modo es igual a uno. Esto simplemente lo alternará de un lado a otro. A partir de ahí, configuraremos la alarma uno al intervalo que luego nos aseguraremos de que restablecerá la alarma para que cada vez que suba y baje con consistencia. Ahora lo que tendremos que hacer aquí es asegurarnos de que establecemos el objetivo si como dijimos aquí en el modo de alarma es igual a uno, vamos a tomar esto. Lo que haremos en cambio es que no estableceremos el valor de retracción, solo el valor objetivo Queremos que sea cero estar arriba y uno abajo. Haremos un comentario de eso para que podamos hacer un seguimiento de uno es igual a los picos están arriba, todos están abajo. Por lo tanto, eso significaría que cuando el objetivo se establece en 16, en realidad se sabe que voy a estar al revés uno es igual a P y cero es igual a la baja. La razón es que tomaremos el evento del cajón, dibujaremos los picos. Lo que haremos también, porque los picos van a estar en la capa de instancias. Lo que queremos que hagan es asegurarnos que si eliminamos la capa de instancia aquí, estos mosaicos de abajo, queremos que quepan detrás de los mosaicos. La profundidad en realidad sería 200. Queremos ser, vamos a establecer la profundidad en, vamos a asegurarnos de que está por debajo de esa profundidad igual a capa obtener profundidad y será azulejos por debajo entonces más uno, así que estará ligeramente por debajo de esa capa. Ahora aquí es donde entra en juego la parte divertida. Si el índice de sprite es igual al pico inferior, vamos a dibujar el sprite, el índice de sprite, índice Y la exposición aquí. La exposición se va a quedar igual. La posición y va a ser y más el valor de retracción si el uno va a estar arriba. Y entonces lo que queremos hacer es asegurarnos que cuando se retraigan vaya a bajar. Se sumará esa cantidad. Ahora la razón por la que hemos hecho si índice de sprite es porque vamos a copiar esto y hacerlo algunas veces más para los otros índices de sprite La razón es que vamos a hacer algunos objetos padre, tal vez los recuerdes de la lección anterior. En este caso se va a retraer hasta la pared. Si es así, si está al lado derecho, entonces cuando el valor de retracción es más 16, queremos que siga adelante Aquí no queremos nada que añadir al valor y. Haremos menos retracción, y lo haremos también aquí Por lo tanto, estará sumando o restando ese valor a su posición y Ahora lo que podemos hacer es crear un nuevo objeto con este objeto. Lo llamaremos retraer, fondo de pico. Le daremos el otro valor. Realmente debería haber alineado estos nombres, pero está bien. Lo que vamos a hacer aquí es una señal, este es el objeto padre y por lo tanto todo se copiará a través. De igual manera, vamos a hacer el mismo control D, o duplicados, y vamos a asegurarnos de que todos tengan diferentes picos pero las mismas acciones Este será nuestro pincho izquierdo, entonces este de aquí será nuestro pico derecho. Ahora vamos a hacer algunas pruebas solo para asegurarnos en caso de que tengamos algún valor al revés. Pero esto, por lo tanto, debería hacer un bonito pico retráctil en este caso Volvamos a poner nuestra instancia. Vamos a deshacernos de esto de nuestro último. Intentemos algunos picos retraídos y veamos cómo se ve eso. Voy a probar algunas distintas. Voy a ver cómo se ve eso. Ahora como ya hemos definido estas variables en el objeto variable, podemos entrar aquí y ajustarlas. Ajustemos este modo uno. Agreguemos el retraso a 30 en este, luego 140 en este, 1.1 50 en este. Deberíamos ver un poco de variedad saliendo de eso. Lo que haremos también es que también agregaremos uno de cada uno para que podamos estar seguros de que todos están trabajando de la manera que deberían. Vamos a probar estos, y probemos algunos de los mejores aquí ahora. Por lo tanto, debería darnos una mejor comprensión cuanto a si estos picos van a funcionar. Por el momento en realidad no nos van a hacer ningún daño. Pero al menos tenemos un ligero error ahí en el caso de que atraemos evento de pico. ¿Qué hemos hecho aquí? A ver si podemos averiguar un error muy común. En realidad no hemos cerrado los soportes, pero esto es algo bueno de gamemaker Te dirá si has cometido algunos errores. Espero que hayas podido seguirlo, porque ahora vamos a ver si esto va a quedar bien. Ahí lo tenemos. Para que podamos ver aparecer y desaparecer los picos. Por supuesto, por el momento no hacen nada, pero ese es un buen comienzo. Bien, ahora lo que tenemos que hacer es asegurarnos de que cuando choques con este pincho y sus hijos, lo mismo que cualquier otro pincho, muera Sin embargo, la diferencia aquí es que vamos a poner este evento de colisión en el propio pico. La razón es que vamos a usar el valor de retracción. Lo que vamos a hacer es si la retracción es mayor que, digamos menos de dos, eso te da una oportunidad cuando el pico aún está emergiendo para escapar de él levantándose antes de que te mate Sólo un poco de margen de maniobra para que el juego se sienta un poco mejor que con otros El otro en este caso es el jugador O. Vamos a hacer evento usuario cero, que recordarás es el evento de secuencia de muerte. Ahora lo que encontrarás es cuando realmente ejecutemos el juego, deberías tener algún nivel de margen de maniobra en el que realmente puedas meterte frente a un pico cuando esté retraído Entonces cuando salga lo suficiente te matará. Va a subir, te apartas de su camino y estás bien. No obstante, si te quedas demasiado tiempo, te pinchan. Secuencia muy sencilla ahí. Y eso agregará mucha más variedad a nuestra jugabilidad. A continuación, haremos algunos bloques que desaparecen reapareciendo. Y ese será, nuevamente, un elemento diferente de desafío que debería llevarnos a una cantidad decente de desafío. Pero podemos empezar a diseñar algunos niveles a su alrededor, así que estén atentos para eso. Y luego comenzaremos a agregar algo de música, algunos efectos de sonido y una pantalla de menú. Y vamos a tener un juego completo. Así que estén atentos para esa lección. 19. Crea bloques fugaces para un juego dinámico: Bienvenido de nuevo a Gamemaker Two D Platform Workshop. En la última lección, nos fijamos en espigas retraídas. En esta lección, vamos a mirar las cajas que aparecen y desaparecen. Esto tendrá un elemento platforming muy similar. Vamos a llamarlo caja de aparecer. Ya tenemos algunos picos listos para ello. Y esto sólo va a sumar de nuevo, un nivel diferente de desafío matizado al platforming Del mismo modo, vamos a tener algunas variables definidas aquí. Vamos a empezar con el modo. Estaré definiendo si está llegando o desapareciendo. O llegó y desapareció. Entonces tendremos el valor delay que se establecerá como un valor por defecto diez. Nuevamente, esto puede agregarle un poco de retraso, por lo que puede ir en fila. Si agregas un diferente o si quieres que vayan y vengan en diferentes momentos. Nuevamente, intervalo, pongamos eso en 120, en realidad 180. Vamos a darles un poco más de tiempo. Ahora lo que vamos a hacer aquí es establecer la primera alarma, alarma cero para retrasar. Entonces también vamos a configurar, una vez que se haya puesto la alarma, la alarma otra vez, la alarma cero. Esta vez eso va a ir y rehacer la alarma de dos intervalos. Ahora, en este caso, tenemos los valores de modo. Si el modo es igual a uno, entonces el modo es igual a cero, el modo L es igual a uno. Esto fue 1-0 Ahora si tenemos cero estando arriba y uno no, Si modo es igual a cero, realidad pongamos esto en los eventos de paso porque entonces siempre lo estamos actualizando. Esto nos ahorrará hacerlo dos veces. Si el modo es igual a cero, lo que haremos, estableceremos la x, la 9999 Entonces si el modo es igual a uno, entonces x es igual a x inicio. Lo que queremos hacer aquí es asegurarnos de que estamos dibujando siempre en la X start y y start position y position aquí. El cuadro de aparecer fuera, Siempre estamos dibujando eso primero. Ahora la razón es que va a ser que es sprite aquí, éste queremos que siempre esté mostrando Entonces encima de ella, dibujaremos en realidad si tomamos prestado de antes de nuestro efecto, podemos tener un pequeño efecto agradable Tomemos prestados los, ponlos aquí, vamos a cambiarles el nombre a pop y pop target El pop y el pop, sólo para hacerlo un poco más fácil. Verás por qué estamos haciendo esto en un poco, pero lo que queremos hacer es si decimos que cambiamos a pop, lo que ahora tenemos que hacer es dibujar el sprite en sí Se irá por el sprite del sorteo, pero esta vez Xt se extendió para más opciones Esto será S a por caja en. Ahora, este será también el submdero, esta será la posición, la posición actual, y inicio Ahora aquí es donde estará la parte interesante, porque será uno más pop en el mismo aquí, lo que tenemos que hacer es establecer un color a rotación a cero. Ver blanco de un color porque no lo estamos fusionando. Y uno es el alfa, total transparencia. Ahora cuando realmente cambiamos la alarma, en lugar de solo cero a uno, si está en cero, no va a estar en la pantalla uno, lo es. Cuando lo cambiemos a uno, también lo haremos es establecer pop 0.2 Ahora veremos cómo se ve eso, pero lo que podemos ver aquí es que cuando esté configurado en uno, volverá a estar en su posición inicial. Tendrá un pop cuando aparezca. Ahora eso le dará un bonito efecto de reventón, y se verá bastante interesante como un desafío extra Veamos cómo se ve eso ahora. Debería tener un bonito pequeño efecto pop, pero cuando aparezca y luego volverá a desaparecer. A ver, ves que va, y luego los estallidos entran en vigor. Ahora eso agregará algún reto ahí, porque entonces lo que va a pasar es que va a tener un momento donde aparecerán los bloques, tendrás que correr a través de ellos, y luego se acabará. Ahora por supuesto, podemos ajustar esto también, así podemos hacerlo como podemos hacerlo como si pareciera estar parpadeando antes de que se vaya, pero por ahora, eso va a estar bien. Podemos cambiar las cosas a medida que avanzamos, pero por ahora tenemos un pequeño efecto pop encantador cuando aparece. Y eso se ve bastante divertido de momento, sin embargo, no hace nada. Lo que tenemos que hacer es, si recuerdas nuestro paso por las paredes, en realidad vamos a hacerlo. Usa esto como padre, entonces será padre de otro padre diferente. Entonces el niño aquí será la casilla de apelación. Ahora donde ya hemos agregado eventos aquí en el evento paso miras al padre, sigue siendo el paso a través de la pared. Sin embargo, también queremos que se herede el evento. Lo que también queremos hacer es cambiar, es un inicio Y porque el valor Y, si recuerdas los cambios para el bloque de paso, queremos mantenerlo, no queremos caer en unos picos en pantalla. Bien, ahora podemos pasar por él. Cuando esté aquí actuará como una pared sólida. Ahí vamos, es una pared sólida, pero esto evitará que nos atrapen hasta que estemos encima de ella. Acabamos de ganar el nivel, agradable y fácil. En realidad, nos dimos cuenta de un ligero problema. Sólo debería suceder si no hay chips de computadora. Nos dimos cuenta de un ligero problema. No deberíamos haber podido completar el nivel ahí donde realmente iniciamos la secuencia final. Aquí solo verificamos si hay más de un jugador. En realidad no verificamos si no hay chips de computadora disponibles. Hemos aprendido un pequeño bicho. Hemos arreglado un pequeño error, y hemos hecho que estos bloques aparezcan y desaparezcan. Ahí vamos. Ahora no solo completamos el nivel al azar. También una cosa efectiva para notar lo que eso hace es crear un bloque aparecer y desaparecer al azar. Bueno, no al azar, será a intervalos que establezca. Pero aprenderás que puedo pasar por ahí. Ahora eso es parte del reto. Queremos poder pasarlo por ahí unos tiempos establecidos. Lo tenemos tan simple como eso. Por lo tanto, eso actúa como una plataforma sólida, justo hasta el punto en que desaparece y de repente es maniobrable Eso agrega un pequeño desafío de plataformas extra. Es importante agregar diferentes elementos del desafío de la plataforma porque eso solo lo hará más interesante cuando diseñemos más niveles. Por el momento, el nivel que tenemos aquí es un poco desordenado. Pero eso no es un problema largo plazo porque esto es solo nuestro patio de recreo. Así es como vamos a probar las cosas. Lo que en realidad haremos a continuación es empezar a diseñar algunos niveles. Voy a repasar algunos consejos y trucos sobre el diseño de niveles que debes tener en cuenta cuando estés armando tus niveles. Entonces, como se mencionó en las últimas lecciones, es solo un caso de poner sonidos Música y una pantalla de menú juntos y tenemos un juego completo. Así que estén atentos para eso y los veré en la siguiente lección. 20. Diseño de sonido en Game Maker: Bienvenido de nuevo a la plataforma Gamemaker two D, un taller. En esta lección, vamos a estar viendo importar sonidos a nuestro juego. Los sonidos son, por supuesto, muy importantes, hace que nuestro juego cobre vida. El juego sin sonido realmente simplemente no es lo mismo. Entonces vamos a empezar importando sonidos. Ahora, importar un sonido es muy, muy fácil. Tengo aquí algunos sonidos que ya deseo usar en este juego, y los he nombrado preventivamente Como pueden ver, he llamado a los archivos de música seguidos de main para el nivel y menú para la música y para así. Nuevamente, es importante apegarse a las convenciones de nomenclatura porque eso va a hacer que sea mucho más fácil a la larga Queremos referirnos a los nombres de los activos en nuestro código. primero es lo primero, vamos a tomar los sonidos como ves, los he seleccionado ahí y sólo vamos a ellos adentro. Ahora vamos a dejarlos caer en la carpeta Sonidos, convenientemente proporcionada para nosotros No obstante, realmente no importa dónde los importemos, siempre y cuando estén en el juego. Y ya verás aquí tenemos algunos sonidos y lo que podemos hacer es que podemos golpear play. Bastante funky. Tenemos una buena selección pasando aquí. Aquí hay algunos buenos sonidos. Ahora bien, si buscas sonidos, especialmente efectos de sonido, es importante entender cuándo quieres crear sonidos, quieres crearlos para un cierto efecto, cierto estilo de juego que vas por. He ido por sonidos muy retro porque estamos haciendo un juego estilo retro de ocho bits. Sin embargo, es importante al igual que tus sprites e imágenes, pero todo encaja con un tema consistente Ahora hay diferentes variedades. En realidad se puede grabar algo. Puedes grabarlo tú mismo. También puedes usar, yo uso algo aquí llamado Chip Tone by SFB Games Ahora bien, este es un práctico dispositivo de uso gratuito. Bueno, es una herramienta en línea, pero también puedes descargarla y crea una variedad de efectos de sonido. Tienes muchos estilos diferentes y formas de modificarlos. Y luego podrás guardarlos como formato WAV y arrastrarlos a tus juegos. Eso es muy útil de usar cuando se trata de música. Si no eres tan talentoso musicalmente, como yo no, entonces puedes mirar a alguien que es y pedirle que te ayude como lo he hecho en el pasado O puedes usar una variedad de sonidos libres de derechos de autor y libres de derechos de autor. Sin embargo, es muy importante, pero te das cuenta de que lo que estás usando está libre de derechos de autor. El autor, si es gratis, música, te está permitiendo usarla. Ahora bien, si buscas música en un juego, se recomienda encontrar música pero loops. Entonces lo que quiero decir con esto es música que va a llegar al final y luego seguir tocando. Entonces, si tengo una vista previa de este bucle, una opción que tiene un gamemaker, no debemos notar diferencia entre cuando esto termina y comienza Debería ser sin fisuras, así. Si la Música tiene un punto de inicio y fin obvio, va a sonar muy diferente cuando realmente estés jugando el juego. Y te darás cuenta cuando lo escuches una y otra vez, por supuesto que hay diferentes opciones que puedes hacer para tener una sección de bucle y un inicio y fin Eso requiere un poco más de complejidad que no vamos a ir en estas lecciones. Pero idealmente, solo queremos encontrar algo que haga un bucle y como digo, asegurarnos de que esté libre de derechos de autor y libre de regalías para usar. Y asegúrate de que si el original para quiere crédito que lo hagamos apropiadamente en nuestros juegos. Porque de nuevo, puede ser muy irrespetuoso si no lo hacemos. Con eso en mente, vamos a ir a nuestro controlador y vamos a configurar una variable. Ahora esto va a ser sonido global Y se va a establecer en 11 para verdadero, cero para falso. También podemos usar la palabra true en este contexto, no hace mucha diferencia. Ahora bien, la razón por la que configuramos una variable global es porque queremos que afecte a lo largo de todo el juego. Las variables globales son consistentes a lo largo de tu juego. Ahora por el momento lo vamos a poner en el controlador. Sin embargo, vamos a agregar para moverlo al menú cuando el controlador de menú esté listo. La razón por la que hacemos eso, y eso va a ser para otra lección, configurando la pantalla del menú principal. No queremos restablecer esto a verdad cada vez, porque queremos dar a los reproductores la opción de activar o desactivar el sonido. A algunos jugadores a la hora de jugar les gusta tenerlo en silencio por sus propias razones. Y eso está bien, así que vamos a hacerlo por mí. Opción dos. Sin embargo, debido a que todavía no tenemos un controlador de menú, vamos a establecer uno en el objeto controlador principal, que si recordarás en nuestro nivel está aquí. Este es el marcador de posición predeterminado para cuando algo no tiene un sprite Verás que es el objeto controlador. Y sólo vamos a asegurarnos que tenemos uno en cada habitación. Pero no vamos a preocuparnos por eso por ahora, porque por ahora vamos a estar configurando un guión. Ahora bien, este es un guión que me gusta usar siempre que en realidad estoy haciendo sonido. Y la razón es que en realidad creé un sonido, no nos preocupemos por eso. Vamos a crear un guión como realmente planeamos. Ahora voy a llamar a este guión bajo audio P. Ahora la razón por la que voy a llamar a este audio SP es porque es un guión que hará algunos cambios en el tono Tenemos el archivo de sonido, el tono inicial y la varianza de tono. Los parámetros, así que el tono inicial y la varianza de tono están aquí. Ahora lo que vamos a hacer es configurar estas variables dentro de la función. Eso lo hacemos poniéndolo entre corchetes aquí, y vamos a subrayarlo y luego a subrayar subrayarlo y luego Ahora estas variables van a ser tomadas cada vez que llamemos al script. Un guión va a pedir tres argumentos, sonido y tono inicial. Vamos a hacer tono de sonido de audio. El índice de esto va a ser el sonido que seleccionemos. Entonces lo que vamos a hacer aquí es tomar el lanzamiento inicial y luego vamos a quitarle el lanzamiento sobre dos, mitad del terreno de juego que entre paréntesis. Y luego agregar picor aleatorio que se va a sumar, digamos por ejemplo la varianza de tono es 0.2 Le quitará 0.1 y agregará 0.2 al azar y lo configurará alrededor de ese tono inicial. La razón es que de esta manera lo tenemos cuando recolectamos un artículo y hace un sonido, un ruido ligeramente diferente cada vez que agrega un poco de variedad. Y hace que suene un poco más interesante. En lugar de solo el mismo consistente di, di, di, di, di, di, di, di, agregará un poco de variedad, y la variedad lo hace sonar más vivo. Ahora aquí es donde entra en juego la variable global. Si el sonido global es igual a uno, entonces vamos a hacer la reproducción del sonido, que es audio reproducir sonido subrayado Sonido Ahora tenemos aquí alguna prioridad. La prioridad va a ser una. En realidad, no importa a qué le des prioridad. Hay muy pocos casos en los que esto viene en bucle útil como cero o falso Nuevamente, no hace ninguna diferencia cuál hacemos, pero esto es porque no queremos que haga un bucle. Queríamos jugarlo una vez. Ahora también podemos configurar nuestra música. Y vamos a hacer esto en el controlador, en el evento step, cada frame. Vamos a primero que nada, hacer parada de audio Menú de sonido. Ahora solo vamos a necesitar hacer esto si se está reproduciendo un menú Música. Si el audio está reproduciendo el menú MU, entonces parada de audio Sonido Lo siguiente, y ponemos el signo de exclamación aquí Si el audio no está reproduciendo U main, entonces vamos a reproducir audio Sound. Y esta va a ser la principal prioridad cero. Y esta vez queremos que haga un bucle. Esto significa que cuando vengamos del menú que creamos en el futuro, va a dejar de reproducir el menú. Música Y empieza a jugar el juego principal. Música Sin embargo, todo esto será, o al menos cuando realmente lo instruimos, si es global, así que en realidad lo haremos aquí, lo haremos dentro de este sonido global es igual a uno De esa manera también va a comprobar si la música no se está reproduciendo y el sonido está encendido, vamos a tocar la música principal. Ahora con el guión que acabamos de hacer, tenemos algunos efectos de sonido que queremos implementar. Todos estos son sonidos que he implementado aquí. Los he importado aquí en nuestra secuencia sorda. Vamos a hacer audio SP. El guión que hemos creado y este va a ser el lanzamiento inicial muerto uno. Agreguemos algunas variantes de 0.2. Hagamos también lo mismo cuando tengamos un chip de computadora. Aquí tenemos el chip de computadora S N. Agreguemos un poco más de varianza a esto. Volvamos a 0.3 solo para que tuviéramos un poco más de sonido. Entonces también podemos hacer algunos efectos de sonido diferentes. Digamos por ejemplo, la batería moribunda, tenemos un efecto de sonido para eso. Lo que recomendaría es que si piensas en los sonidos, es bueno obtener una lista de verificación sobre los tipos de sonido que deseas. Entonces claro, siempre podemos cambiar eso a medida que pasa el tiempo. Aquí buscamos por ahora comentamos antes como donde pondríamos para el salto. Pongamos eso en un salto. Nuevamente, vamos a agregar un poco de varianza. Cada vez es diferente. Como dije, si tienes una lista de comprobación va, puedes marcarla a medida que avanzas. Nos caemos del escenario. Ese está aquí abajo. En realidad, si la batería es cero, lo que haremos aquí en realidad con la secuencia de muerte, eso automáticamente nos destruirá de todos modos. La batería SP de audio lo hizo. No vamos a añadir mucha varianza a eso. No sucede con demasiada frecuencia. Veamos también, digamos por ejemplo, si nos caemos de la pantalla, vamos a agregar esa aquí. eso lo llamo N41 0.2 y voy a agregar un punto y coma para indicar esto es lo siguiente que queremos que haga También haremos lo mismo por si obtenemos, por ejemplo, el elemento clave. Esta otra vez será audio SP. Ahora tenemos que tener cuidado cuando estamos poniendo estos en que no estamos continuamente tocando el sonido una y otra vez, especialmente cuando lo estamos poniendo en eventos de paso. Tenemos que asegurarnos de que están cumpliendo condiciones en las que no repitan y jueguen varias veces. Lo que también tenemos que hacer es cuando el bloqueo aquí, si el número de instancia, la clave del objeto es igual a cero incidencia destruir, podemos. Ahora bien, esto va a ser interesante porque si tocamos el sonido varias veces, entonces eso va a activar magnitudes del mismo sonido En lugar de hacer eso, queremos que sólo aparezca una vez. La mejor manera que puedo pensar para hacerlo es si entramos en el controlador. Lo que podemos hacer aquí es configurar una variable local, desbloquear Sonido es igual a false. Ahora si el número de instancia vamos a hacer bloqueo. Si decimos que eso es igual a cero al inicio, entonces pondremos eso verdadero. Ahora en el evento step que es igual a false, número de instancia k es igual a cero, entonces vamos a establecerlo en true y reproducir el efecto de sonido de esta manera. Lo que estamos haciendo es que estamos configurando este efecto de sonido para que solo ocurra una vez a la misma magnitud, porque de lo contrario si tenemos diez teclas para desbloquear, o más bien diez cajas de bloqueo, lo reproducirán diez veces más fuerte que si solo tuviéramos un caso donde realmente lo estamos envolviendo dentro del evento de control. Esto solo se activa una vez, sin importar cuántas veces ese objeto se destruya. Entonces claro, cuando restablecemos el anillo, volverá a pasar lo mismo, la variable se restablecerá. Ahora bien, si miramos nuestra salida de salida, esto también está revisando aquí para que esté disponible realmente. Nuevamente, vamos a hacer juego de sonido igual a falso. Entonces en el evento paso aquí, estamos comprobando para crear las partículas. Si la reproducción de sonido es igual a false, entonces aquí es donde hablamos asegurarnos en el evento step no lo estamos repitiendo. Pondremos la reproducción del sonido a true, y luego reproduciremos el sonido, o cuando la salida esté abierta. Ahora cuando vayamos a verificar, porque ya lo hemos establecido en true, no se reproducirá en cada fotograma, lo que se pondrá extremadamente molesto. De igual manera aquí en este evento de colisión, vamos a crear la barra de viento aquí. Lo que vamos a hacer en realidad si número de instancia en realidad esto en realidad sólo la vez que creo, pero sólo para estar a salvo. Ahora lo que podemos ver aquí es si el número de instancia es igual, entonces destruye el, o no igual a cero destruye al jugador Cualquier cosa dentro de esto sólo jugará una vez más. Es asegurar en un evento escalonado que solo nos estamos asegurando de que estamos reproduciendo este sonido una vez. Ahora bien, si jugamos a esto, deberíamos notar que nuestro juego tendrá algunos sonidos. Ahora lo que hacemos, notamos que en realidad es que el ruido del salto se está reproduciendo varias veces. Averiguemos por qué es eso. Lo que podemos hacer aquí. Podemos comprobar si el audio se está reproduciendo y saltar, o mejor dicho si no lo es. Eso lo hacemos poniendo aquí un signo de exclamación. Entonces programamos de nuevo el asador, aquí es donde se ha estado reproduciendo varias veces Está haciendo un efecto de relevo. Y eso no queremos. Queremos que juegue solo de una vez, ahí vamos. Tenemos sonido. Ya ves lo mucho más vivo que se siente. Ahora tenemos sonido. Ahora tenemos música. Ahora tenemos una variedad de enemigos. Aún no hay niveles, pero siempre podemos hacer diseño de niveles en algún momento. Todo lo que queda ahora es una pantalla de menú y por supuesto, un juego sobre pantalla para cuando llegues al final. Creo que eso va a terminar para hoy, pero estad atentos. La siguiente lección donde cubriremos haciendo la pantalla del menú. Apenas como nota al margen, había notado durante la grabación que los efectos de sonido no grababan correctamente. Así que solo voy a poner algunas imágenes aquí para mostrarte cómo suena el juego con los sonidos como se pretendía. 21. Crea un menú Fundamento y diseño de una pantalla: Bienvenido de nuevo a Gamemaker two D Platform, a Workshop. En la última lección, agregamos partes vitales de sonido y música a nuestro juego. Sin embargo, lo que podría decirse que es más importante para nuestro juego es una pantalla de título No podemos simplemente saltar directamente a la jugada. Entonces lo que vamos a hacer aquí es que voy a presentarles algunos activos nuevos que he agregado a este juego. Y te voy a mostrar cómo vamos a convertirlos en una animada pantalla de bienvenida. En primer lugar, tenemos nuestro logo, claro, hemos llamado el paquete de baterías del juego. Encima de eso, tenemos una pantalla de ayuda. Esto va a aparecer solo con alguna información sobre cómo jugar el juego, algunos conceptos básicos sobre lo que tenemos que hacer para empezar a jugar de nuevo. Esto aparecerá solo cuando pasemos el cursor sobre la opción Ayuda. Aquí están nuestras opciones. Ahora notarás que todos están en un solo sprite porque nuestro menú, nuestra pantalla de título, va a funcionar desde un solo objeto Ahora tenemos estos diferentes activos aquí. Y cada uno de estos va a representar un botón. O en el caso de estos dos, van a representar las opciones mute y unmute Lo que tenemos aquí es una nueva habitación. Una habitación que creé se llamaba nuestro menú. Ahora bien, esto es muy similar a la habitación que hemos creado para los niveles. Sin embargo, no hay instancias u objetos, si se quiere. Eso es porque vamos a crear algunos. Notarás que nuestro menú está aquí, pero este pequeño ícono de home aún está por encima del nivel uno. Esto se debe a que esa sigue siendo la primera habitación. Sin embargo, si hacemos clic aquí, tendrás el encargado de la habitación y tendrás la opción de volver a ordenar las habitaciones. Vamos a poner nuestro menú como primera habitación. Ahora bien, si ejecutamos esto simplemente tal como está, descubrirás que realmente no tenemos mucho que hacer en este momento porque en realidad no hemos puesto el elemento del menú real en. Tenemos nuevo objeto en, solo tenemos una bonita pantalla de apertura. Ahora bien esto se ve bastante bonito, pero queremos que algo suceda. Vamos a comenzar con un nuevo objeto, vamos a crear este objeto, y se va a llamar Menu Control. Si hacemos control de menú ahora el control de menú va a hacer muchas cosas diferentes. Va a mostrar el logo. Va a, lo más importante, configurar un sonido. Porque si recuerdas anteriormente, ya montamos un sonido en nuestro evento creativo, pero queremos que el sonido global sea igual a uno para verdadero. Ahora vamos a entrar en nuestro objeto controlador y simplemente eliminemos donde lo hemos configurado aquí porque no queremos que esto anule. Vaya al control de menú cuando esté listo. Eso va a estar listo. No queremos que ese valor se anule, sobre todo si en el menú nuestro jugador decide jugar el juego en silencio. Vamos a configurar algunas variables. Puedes vender como puedes seleccionar lo que quieres hacer. M Vender. Ahora ese es el menú seleccionar. Y vamos a empezar en Zero logo y vamos a establecer eso en -300 cada uno Ahora eres miembro de la S, y normalmente los usamos para Show y Target, lo que significa que vamos a usar nuestro Lup favorito Vamos a hacer opciones de menú. Ahora bien, esta es la cantidad de opciones de menú que hay. Vamos a establecer esto en cinco porque tenemos cinco Play Help Sound Website, porque siempre quieres vincular tu sitio web en el juego si puedes, y salir. Ahora vamos a hacer una matriz ahora M show y vamos a hacer array create. Ahora la razón por la que queremos crear una matriz, es como una base de datos. Es como tener múltiples valores almacenados bajo el mismo nombre de variable. Aquí va a ser donde se muestre el menú. Va a ser la cantidad de opciones de menú es cuántas vamos a crear. Voy a comenzar con -200 ya que el valor para todos ellos fueron show y M show Ahora también vamos a hacer M en un efecto inflar. Nuevamente, esto va a ser array create con la cantidad de opciones de menú. Y vamos a poner éste a cero, no el mío cero, ahí vamos. Y nuestro control favorito D para duplicar la línea. Y lo vamos a hacer por Target, también vamos a hacer el siguiente que es Aparecer. Y eso va a ser igual a menos uno. Ahora eso va a mostrar qué opción de menú va a aparecer. Porque una parte importante del diseño del juego, en mi opinión, al menos nada debería estar ahí. Algo simplemente debería aparecer. Las cosas necesitan abrirse paso en la pantalla. Eso son efectos de desvanecimiento libre o en este caso fue, rebotando fuera del borde de la pantalla Yendo a establecer dos alarmas, La primera se va a fijar por medio segundo, y eso es para que aparezca el logo. El siguiente, vamos a poner una alarma 160 y serán opciones de carga. El primero que va a ser la alarma cero. Ahora lo que vamos a hacer con este es que vamos a establecer esto para el logo que aparece esto, recuerdas que establecemos logo que va a ser igual a cero. Así mismo, entonces vamos a hacer nuestras opciones de menú. Ahora las opciones de menú van a funcionar de manera ligeramente diferente. Lo que este momento va a hacer es hacer que M aparezca más igual a uno. Eso va a configurar el menú aparece opción arriba uno. Y luego la M muestran el objetivo para eso, porque el valor actual del MPA va a ser igual a cero. Eso pondrá gradualmente a cero cada 11 por uno. Ahora bien, si MP no iguala la cantidad de opciones de menú menos una, eso básicamente restablecerá la alarma y la volverá a subir. Entonces voy a establecer eso para decir 20 más si lo hace entonces vamos a establecer puede vender a true, decir bien. Todas las opciones han aparecido. Ahora podemos comenzar a seleccionarlos. Aquí es donde entra en juego todo porque este es nuestro evento paso a paso. En nuestro evento paso, vamos a poner en lo siguiente. En primer lugar, vamos a hacer nuestro logo de Lop Effects es igual a P logo y logo. Vamos a hacer eso a 0.1 así que eso significa que nuestro menú va a aparecer. Ahora aquí vamos a hacer algunos estados de desbordamiento. Esto es básicamente para asegurarnos de que no seleccionamos algo que no podamos. Si la celda M es igual a las opciones de menú ya que en ella se ha repasado cuántas tenemos, entonces va a comenzar en cero. La razón por la que está en las opciones del menú es porque las variables siempre comienzan y cuentan desde cero la siguiente, Si la celda M equivale a menos uno, ya que en hemos ido demasiado lejos a la izquierda en las opciones del menú, entonces la celda M equivale las opciones de menú menos una para restablecerla de nuevo. Ahora el menú principal inflar efectos. El efecto de inflación va a funcionar a través de un bucle de cuatro. Vamos a comenzar con una variable igual a cero. Entonces si yo es mayor que el valor de las opciones del menú, entonces lo que vamos a hacer es detener el bucle. Vamos a incrementar en uno por iteración de este bucle Y aquí es donde está la inflación. M show está en los de momento será lop, eso va a ser M show I otra vez, y M mostrar el efecto objetivo otra vez, vamos a establecer eso 0.1 Lo que también vamos a hacer es lo mismo para nuestros efectos inflacionarios. Esto básicamente asegurará que cada uno de estos se recorra varias veces Y vamos a hacer eso para asegurarnos de que el efecto Lop va a aparecer para todos ellos. También se va a inflar y desinflar cuando se seleccione el menú Lo siguiente que tenemos que hacer es nuestra selección de menú principal. Ahora aquí es donde pasa todo. Aquí es donde se lleva a cabo todo. Entonces cancelar es igual a verdadero. Y aquí es donde vamos a empezar a buscar teclados Para la entrada del teclado necesitamos si se presiona la comprobación del teclado. Y esta va a ser la primera, ORD Ord, mayúscula A. Eso va a asegurar entonces que si seleccionamos la mayúscula A, ahora no sé por qué, pero sí tiene que ser mayúscula. No obstante, si presionas A por su cuenta, todavía va a funcionar. También vamos a contar a la izquierda, básicamente. Si presionamos a la izquierda o presionamos la opción, entonces ¿qué va a hacer eso? Esa celda M, la opción que hemos seleccionado, va a ser menos uno. Ahora otra vez, controla D para duplicar esta línea y vamos a hacer lo mismo pero con la letra D o K. ¿Correcto? Ahora lo que vamos a hacer aquí cambia a VK, ¿verdad? Vamos a hacer que el celular M suba por uno. Ahora bien, si cerramos eso ahí, verás que tenemos nosotros mismos una selección en pleno funcionamiento. En realidad, ya cerramos. Al pasar el cursor sobre los corchetes cerrados, verás que te muestra cuáles son los que engloban No, eso es todo dentro del todo dentro de la condición de la celda. Si se puede vender es igual a verdadero. También mientras estamos aquí, vamos a hacer audio SP. Lo que tenemos es S, N menú seleccionar o menú navegación incluso. Vamos a hacer el pitch como uno y la variación en 0.2 De nuevo, queremos asegurarnos de que estamos tocando algún sonido que va a ser importante para la opción correcta. Para la izquierda, vamos a hacer que sea un tono ligeramente más bajo solo para agregarle algún efecto a eso. Entonces lo que estamos haciendo es asegurarnos de que esas opciones, si son seleccionadas, entonces básicamente irán a la izquierda o a la derecha en consecuencia. Ahora en realidad tenemos el menú principal. Nuevamente, vamos a usar si cancel es igual a true. Para esta, lo que vamos a hacer es empezar a poner en nuestras principales opciones. Vamos a ordenarlo como cero es igual a jugar. Uno es igual a la opción Ayuda, dos es igual a Sonido tres es igual a la dirección del sitio web, y cuatro lo igualarán. Esto básicamente va a comprobar ahora si la comprobación del teclado presiona. Hay algunas cosas diferentes que queremos incorporar tantas opciones. La gente presionará espacio o la prensa, por ejemplo, Enter. No queremos que la gente sienta que está presionando lo incorrecto. Aquí le estamos dando la opción a la gente. Entonces, si alguno de esos es presionado, vamos a comenzar nuestro proceso principal de selección. Así que hemos englobado esto en una gigantesca declaración if. Y ahora podemos empezar a hacer lo siguiente, pero vamos a hacer una pausa ahí mismo. Únete de nuevo a mí en la segunda parte, donde ahora que el menú está configurado, vamos a ponerlo todo junto. 22. Completa los elementos visuales y funcionales del menú: Bienvenido de nuevo a Gamemaker two D platform, a Workshop. En la segunda parte, vamos a continuar con lo que iniciamos en la primera parte y juntar nuestro nuevo título y pantalla de menú. Primero, si M sell es igual a cero, como en la opción play, entonces vamos a hacer sell es igual a false. Ahora la razón por la que queremos que eso suceda es porque no queremos que alguien seleccione varias cosas. Vamos a hacer selección de menú a la una. Lo siguiente que vamos a hacer es que ahora recuerdes que sí tuvimos el efecto de pasar al siguiente nivel. La forma en que lo hicimos. Si recuerdas de nuestro jugador interactuando con el objeto , ¿ era el objeto jugador? Creo que en realidad fue en el jugador del viento. Ahora lo que realmente hicimos aquí es que configuramos esto para que la t aquí sea nuestro primer nivel que vamos a establecer en L autocompletar nivel uno Ahora vamos a maximizar esto, para que podamos ver un poco más lo que estamos haciendo. Ahora lo que verás aquí es que esto todavía está abarcado por todo Sin embargo, tenemos que cerrar esto. Entonces esa es la primera opción de menú hecha. Siguiente si la celda M es igual a una. Ahora en realidad no lo haremos si la celda M L equivale a una porque eso va a estar en nuestro evento de cajón. Iremos al próximo 12. Y esto va a ser Sound. Esto es agradable y fácil. Básicamente, si punto global Sound es igual a verdadero, entonces el Sonido global es igual a falso. Agradable y fácil. Entonces vamos a incorporar una declaración F L, sonido global es igual a verdadero. Y tocaremos un poco de sonido solo para confirmar, Básicamente el sonido vuelve a encenderse. Agradable y sencillo. Ahora lo que hemos hecho aquí es que tenemos este en realidad, asegurémonos de que esté abarcado. Esa es la celda M dos. Siguiente, si la celda M es igual a tres. Ahora vamos a hacer esto como el sitio web uno. Ahora lo que podemos hacer aquí así como nuestro sonido de audio para decir que en realidad hemos seleccionado esto así como esto, vamos a abrir una URL. Ahora para abrir una URL, hacemos URL extendida. Digamos mi sitio web. ¿Por qué no? También puedes tener mi sitio web ahí si lo deseas. Pero también agregaremos este subrayado en blanco al final. Eso es solo para opciones adicionales que lo abrirán automáticamente en una nueva pestaña en el navegador. Por último, si Ml equivale a cuatro, y esto será para el examen, va a ser simplemente juego, y corchetes cerrados debería ser nuestra opción de menú. No, tenemos que asegurarnos de que todo esté cerrado aquí. Veamos a dónde va esto. Eso abarca nuestra verificación de teclado. Este abarca si l es igual a verdadero, y este, este es un repuesto. Nos desharemos de eso. Ahí vamos. Ahora ese es nuestro menú principal. Ahora lo que tenemos que hacer es empezar a hacer algunas cosas de logo para asegurarnos de que aparezca el logo y ayudar a las cosas, esto es si la celda M es igual a uno, entonces logo, el objetivo para el logo será igual a -300 para asegurarnos de que se salga de la pantalla Y eso será importante en nuestro dibujo posterior. Else logo T es igual cero y eso va a ser mostrar ayuda. Ahora con eso en mente, nuestro siguiente paso en realidad antes de pasar a nuestro siguiente paso, debería haber notado que esto necesita tener un soporte de apertura. De lo contrario nos va a arrojar algunos errores. Derecha, Nuestro siguiente paso va a ser el reinicio La inflación básicamente significa que solo mostrará la inflación del objeto, la opción de menú que se selecciona Nuevamente, vamos a usar un bucle de cuatro y vamos a hacer las opciones del menú. Así pasa y recorre todas las opciones del menú. El buen truco para esto entonces es que también podemos agregar más opciones de menú a medida que avanzamos. En este caso, vamos a establecer el objetivo de inflación del menú de todo. Básicamente, ponlo todo de nuevo a cero. Entonces si la celda M es menor que menos uno, menor que menos uno, ya que en es mayor que cero y la celda M no es mayor que las opciones de menú. Básicamente para asegurarnos de que estamos en los parámetros, entonces el objetivo de inflación del menú de solo el que se seleccione será igual a 0.3 Eso significa un impulso de 30% sobre el que se seleccione. Ahora tenemos eso en mente, tenemos nuestro sorteo. El evento del cajón es donde todo va a reunirse. De hecho, lo hemos montado todo. El siguiente paso ahora es dibujarlo Primero lo primero, vamos a empezar dibujando nuestro logo. Sprite Xt. En realidad asegúrate T que va a ser logo, que lo pondremos en el medio usando habitación con D dos habitación con tomará ese valor de lo amplia que es la habitación. Ponlo justo en el medio. Pongamos eso al decir 96. Creo que eso debería hacerlo. Ahora lo que tenemos que hacer aparte de eso es Do 96 y luego más logo, eso va a ser más cero o más -300 en algún caso cuando se seleccione la opción Ayuda, solo para asegurarse de que no se anule, establezca el resto de ellos solo a los valores predeterminados estándar Ahora si podemos vender es igual a verdad, también vamos a empezar a dibujar la pantalla de ayuda. Ahora bien esto va a funcionar muy de la misma manera, pero lo que vamos a hacer aquí es dibujar sprite de nuevo Esto va a ser pantalla de ayuda. Ya tuvimos esa antes. Va a ser, debería haber añadido ahí el cero también. Ese es el índice de imagen porque estos son sprites no animados De nuevo, vamos a poner ancho de habitación sobre dos. Vamos a poner éste. Vamos, vamos a ponerlo un poco más abajo. Digamos que está en 128, Ahora esto va a ser -300 y luego más logo x, haz que aparezca. Y luego 110 blanco, y uno vuelve a verlo como los valores por defecto. Verás aquí rotación alfa, esa cosa que va a hacer nuestro logo aquí arriba. Ahora vamos a dibujar en realidad el conjunto de menú alfa a uno, siempre debería estar configurando eso de todos modos. De hecho, vamos a moverlo hacia arriba. Es una buena práctica tener siempre el alfa establecido en uno a menos que hagas algo. De lo contrario, siempre lo pondremos en uno antes de comenzar. Por si acaso tenemos empate conjunto alfa anulando en otra parte. Se anulará a menos que especifique lo contrario al inicio de un evento. Y ahora es solo un caso de dibujar nuestras opciones de sonido, no opciones de sonido, opciones de menú. Nuevamente, dibuja sprite XT. En realidad, vamos a maximizar esto para que podamos ver más de lo que estamos haciendo también. Dibuja sprite a primero llamo menú, se llama botón porque importé el botón de menú de sprite todos se les llama botón de menú. Botón de menú. Ahora la sub imagen aquí, la primera va a ser cero. Hagámoslo al 800224. Ahora esto va a ser 224 menos M. Mostrar cero. Se va a establecer en 200. Eso va a apagarse y va a aparecer en pantalla aquí tenemos un plus, y esta es la inflación M. La inflación del menú. Así que recuerda que lo dijimos a 0.3 cuando se selecciona eso. Eso es para la báscula. Nuevamente, lo vamos a hacer para la escala X y la escala Y, vamos a ponerla a cero porque todas las matrices comienzan en cero. La rotación va a ser de color cero, blanco y alfa uno. Porque no estamos ajustando eso. Esa es nuestra opción de juego. Nuevamente, presionamos el control D para duplicar. Esta es la opción de Ayuda. Vamos a mover estos 80 píxeles a lo largo porque son 64 por 64. Pero sí queremos darles un poco de brecha. Lo que hacemos aquí es simplemente cambiar a uno y este uno a uno, y ese uno a uno. Ahora la siguiente va a ser nuestra opción de sonido. Ahora lo que vamos a hacer aquí es hacer dos más sonido global, donde el sonido está apagado, está puesto a cero. Y donde está encendido el sonido, está configurado en uno. Eso va a tener un poco de variación ahí, así que podemos ajustarlo en consecuencia. Nuevamente para cambiar de servicio va a ser para una segunda opción de inflación, recuerden que hay cinco pero un alza como con todas las demás variables. Empezar en cero. Va a ser 0,123.4 La siguiente opción va a ser el cuarto índice de sprites Eso va a ser a los 320, así que los estamos enfrentando a los 80. Eso es en la tercera opción de inflación. Y por último, la cuarta. Nuevamente controlamos D, Ese va a ser el quinto índice de imagen. Hagámoslo a los 400. Ahí vamos. Eso va a estar muy bien ahí. Lo que también podemos hacer es que podemos establecer una opción de fundido para dibujar sobre ella. Digamos que fade es igual a uno. Digamos alarma dos iguales, digamos cinco. Y eso se está desvaneciendo. Lo que podemos hacer aquí es desvanecer a 0.95 Y podemos hacer un poco de trig aquí donde si fade no es igual a uno, entonces fade es mayor que cero, entonces podemos reducir Esto básicamente asegurará que tengamos un poco de desvanecimiento, un valor que comenzará en uno e irá a cero. Ahora aquí es donde podemos agregar algunos Trig puede hacer set alpha para desvanecerse, establecer color a negro Podemos hacer un rectángulo de dibujo. Podemos hacer esto a las 00, ancho de habitación y altura de habitación. No queremos que sea un esquema. Y luego establecemos el color y todo atrás después del blanco y dibujamos, nos pusimos a uno. Esto básicamente va a abarcar todo dentro, dentro de un rectángulo. Por lo tanto, deberíamos tener un buen menú. Tomemos también un teclado presionado, hagamos la letra R solo para hacer un reinicio otra vez, esto es solo para probar, pero solo para asegurarnos de que funcione, podemos reiniciarlo después. Ahora si golpeamos placa, deberíamos ver una opción de menú empieza a aparecer. O tenemos un ligero error ahí en nuestro evento de cajón. Echemos un vistazo a eso, está en la línea de dibujo 80, tenemos un error. Esta siempre es una parte interesante. ¿Olvidé cerrar esto? Yo sí, en efecto. Ahí vamos. Por eso se destaca, porque nos olvidamos de cerrar un comunicado, pero aprendemos ahora. Esto ha sido bastante para tomar, pero en realidad incluso jugamos el juego. Lo que realmente tenemos que hacer ahora que tenemos la opción de control de menú, es que tenemos que colocarlo. Si tomamos nuestra capa de instancia y recuerdas seleccionamos el objeto y simplemente lo colocamos en cualquier parte de la habitación, porque no depende de dónde se encuentre, podemos simplemente colocarlo en cualquier lugar. Entonces lo que deberíamos ver es que vemos que empiezan a aparecer muchas opciones. En realidad, aquí hay un ligero error. Es 128 menos y luego lo que sea que haya en esto vale la pena revisar tus mapas antes de empezar a hacer esto. Pero lo que deberíamos ver para asegurarnos de que vuelva a funcionar, un ligero error. Cuando presionamos en el lado derecho, se debe incrementar uno muy importante para asegurarnos de que tenemos eso Sí, ahí fue un ligero error. Eso debería ser 300 plus logo S porque logo entonces se convierte en 300 cuando lo tenemos seleccionado. En realidad, creo que 128 podría estar un poco alto. Pongamos eso al 96 para que podamos hacer coincidir con el texto con la pantalla vital ahí. Deberíamos ver un trabajo completo ahí vamos, miren eso. Tenemos un menú encantador Ahora siempre podemos vestirlo con efectos de partículas y cosas diferentes, pero esta es una mirada muy agradable, muy simple, fácil de usar, perfecta de eso y lo que encontrarás. Entramos y jugamos una pantalla de menú útil Ahora esta ha sido una lección un poco más larga de lo habitual. Obviamente, ha habido mucho que tomar en conseguir una pantalla de menú que funcione completamente, pero ahora estamos mucho más cerca de hacer este juego. Y tenemos casi un juego totalmente funcional. Vamos a necesitar mirar algunos trucos y consejos de diseño de nivel en el camino. Y vamos a tener un lindo juego sobre pantalla. Una vez que hayas hecho todos los niveles, tendremos un poco más de atado para hacer, y luego algunos consejos y trucos para que consideres para tus propias lecciones. Pero ahora tenemos una pantalla de título totalmente funcional. Entonces con eso en mente, estamos muy cerca del final. Ahora vamos a tener algunas lecciones más que cubrir y nos vemos para la siguiente lección. 23. Configurar un juego atractivo en la pantalla: Bienvenido de nuevo a la plataforma Gamemaker two D, un taller. Entonces ahora que tenemos un juego completo, al menos en teoría, voy a correr por un juego sobre pantalla. Porque un juego sobre pantalla es realmente algo que simplemente une todo el paquete. Ahora vamos a estar haciendo una muy sencilla. Lo que tengo aquí son dos. Un juego sobre Death Box y un juego sobre Tim Box. Estos van a mostrar el tiempo y cantidad de muertes que tuvimos mientras jugábamos el juego. Ahora en realidad he diseñado, como pueden ver aquí, 15 niveles para este juego. Y quiero hablarte un poco sobre el diseño de niveles para asegurarme de que cuando estés haciendo niveles para tu juego, lo estén haciendo de una manera que introduce y facilita al personaje en un nuevo concepto y para que el jugador no se sienta engañado Pero primero voy a empatar el juego con un juego sobre pantalla. Y una vez que lo hayamos hecho, te mostraremos los niveles. Entonces lo primero es lo primero, para poder rastrear cuántas veces hemos para poder rastrear cuántas veces hemos muerto y cuánto tiempo nos ha llevado hacer el nivel, vamos a configurar algunas variables. Ahora vamos a configurarlos en el controlador de menú, porque esto solo ocurre al inicio mismo del juego. Si lo ponemos en el controlador principal, vamos a estar restableciendo estos a cero cada vez que queramos que haga un seguimiento Para ello, vamos a estar usando una variable global. Vamos a usar el tiempo M para minutos, tiempo para segundos y tiempo MS para no milisegundos sino décimas de También vamos a estar usando la muerte global, que suena agradable. Ahora lo que podemos hacer es si recordamos a nuestro jugador principal aquí como un evento, específicamente para la secuencia de muerte, vamos a entrar aquí solo agregamos la muerte global más igual a uno. Eso lo incrementará uno cada vez que muera el jugador Ahora bien, si entramos en el objeto controlador, ahora esto es algo que ocurre en cada nivel. Pero no tenemos mucho aquí en este momento. Vamos a empezar poniendo una alarma a seis. Ahora la razón por la que vamos a poner una alarma a seis es porque nuestro juego corre a 60 cuadros por segundo. Y queremos que esto marque cada décima de segundo. Ahora tenemos que comprobar si hay un jugador. Si la hay, entonces pasamos al siguiente paso. Si eso no es igual a cero con lo que vamos a hacer es establecer una variable. La variable va a ser puede marcar y vamos a establecer eso en false. Lo que vamos a hacer ahora es con jugador si se puede mover es igual a verdad. Entonces básicamente el jugador no está pasando por una secuencia de muerte porque parece injusto contar el tiempo para arriba. Durante eso, entonces puede marcar será igual verdadero. Ahora una vez que hayamos cerrado todo eso, vamos a hacer si puede marcar igual a true y vamos a empezar a contar un temporizador parcial. Te acuerdas de truco tick. Ahí vamos. Ahora recuerden, lo primero que tenemos que hacer es incrementar los tiempos globales Vamos a más igual a uno. Ahora bien, si el tiempo global MS equivale a una décima parte, entonces vamos a hacer los tiempos globales de vuelta a cero. Vamos a implementar los segundos por uno. Lo mismo va a ocurrir para los minutos. Si el tiempo global es igual a 60/62 en un minuto, entonces el tiempo global por minutos o más igual a uno Y también vamos a restablecer los segundos de nuevo a cero, punto global es igual a cero. Ahora recuerdas que vamos a poner un punto y coma entre estos dos comandos para diferenciar los dos, y los vamos a poner entre corchetes cerrados. Ahora eso va a ocurrir cada décima de segundo, y luego vamos a restablecer la alarma a seis. Ocurre cada décima de segundo. Eso significará, por lo tanto, que cuando realmente ejecutemos el temporizador al final del juego, vamos a tener un juego real sobre pantalla que muestra cuánto tiempo nos llevó navegar por los niveles. Para ello, vamos a crear un nuevo objeto, Game Over Control. Este es un objeto de control que se aplica específicamente solo en la sala de juego sobre. Lo cual aún no tenemos. Pero usaremos nuestro control D D para nuestro duplicado. Eso hará que nuestro juego sobre la habitación. Ahora bien, esto es solo una plantilla en blanco de un nivel. Vamos a hacer caso omiso de todo esto en este momento porque queremos que la habitación quede en blanco Entonces vamos a deshacernos de esto y de nuestros antecedentes. Supongo que en realidad podemos tenerlo un poco espaciow la forma en que hacemos un poco espaciado pero semi transparente es que solo voy a mover la cabeza por el camino aquí, puede ver que tenemos el color configurado para el negro Bueno, para el gris, si configuramos esto para que sea negro, también podemos establecer una capa de transparencia de aproximadamente 100 y podemos ver o 150. Todavía se queda aquí, pero está oscuro. Este es el trasfondo. Y si eliminamos de esta manera demasiado brillante para algún texto en el que queremos enfocarnos, en qué vamos a hacer también, solo para agregar algún efecto diferente, vamos a hacerlo un poco más rápido y rápido en sentido contrario, debería verse así. Eso va a ser bastante agradable. Voy a volver a poner mi cara aquí. Ahora, a medida que íbamos al juego sobre el controlador, verás en las instancias que tenemos aquí el controlador de nivel, vamos a eliminar eso y poner el juego sobre control en su lugar. Ahora en el juego sobre controlador, realidad vamos a configurar algunas variables para que aparezca el texto. Ahora bien, esto puede sonar un poco inusual, aún no hemos usado texto, así que voy a mostrarles cómo hacerlo. Pero primero, como siempre hacemos, vamos a configurar algunas variables GO aparecen el juego terminado. Eso va a contar, así que las cosas van a aparecer una por una. Ahora lo que haremos es mostrar. Y vamos a crear una matriz. Vamos a crear la matriz, queremos cuatro cosas, y vamos a establecer eso en -500 Así que esto va a ser además de la posición y actual Lo vamos a mostrar como 500 píxeles fuera de la pantalla. En realidad, vamos a hacer más 500, por lo que aparece a continuación. Y luego volveremos a acercar el zoom. Ahora también vamos a hacer una alarma, que vamos a poner en 120. Si recordarás en nuestro objeto controlador, teníamos la barra de apertura de nivel. Queremos que eso siga apareciendo porque queremos que no se limite a encajar en el marco. Queremos que muestre primero la apertura del bar y luego desapareciendo. Eso lo vamos a hacer. Y luego en el evento de alarma, vamos a comenzar con tienda, el show objetivo de aparecer porque es ir aquí. Si recuerdas, una matriz contiene la cantidad de valores aquí. Es tener una cantidad establecida de valores, como una base de datos, todos aplicados al mismo nombre de variable, pero con valores diferentes. El valor que aplica para subir aquí va a ser igual a cero y eso va a ser incremento en uno Ir Aparecer será entonces más igual a uno y Go Aparecer no equivale a cuatro incrementos cuatro veces Después volveremos a restablecerlo. Alarma cero es igual, digamos un segundo y medio. Eso le dará suficiente tiempo. Ahora lo que vamos a hacer a partir de aquí es entrar en nuestro evento de pasos. Ahora recordarás que sí teníamos un bucle de cuatro. manera similar por la forma en que aparecieron nuestras opciones de menú, y lo vamos a implementar aquí también. Cuatro es igual a cero punto y coma más grande que cuatro. Y eso significará que contará 0123, que es la cantidad de valores de la base de datos Tendremos incrementos en uno. Abrimos los corchetes, así que esto va a pasar por Show, eso va a hacer el efecto lap que tanto hemos aprendido, Show I y luego mostrar el show objetivo, y luego entre paréntesis yo otra vez, y lo vamos a hacer por 0.1 Eso es algo que va a hacer que básicamente aparezcan elementos del menú, no los elementos del menú, el juego sobre los elementos. Lo que vamos a dibujar en pantalla aparece uno por uno. Y eso es lo que queremos. Queremos que se produzca este efecto. Vamos a poner este código aquí. Ahora punteamos para dibujar realmente lo que queremos que aparezca. Esta es la parte divertida. Como recordarás, hemos empezado a configurar con incremento de temporizador Al final de los niveles, queremos que aparezca ese temporizador. Ahora podemos organizar el orden de las habitaciones. Si haces clic aquí, verás el orden de la habitación. Creo que lo mencioné anteriormente, pero así es como se ordenan las habitaciones en el juego. Después del nivel 15 viene el juego sobre nivel, o juego sobre pantalla, o juego sobre sala. Técnicamente, habitación sería el término correcto. Como se menciona en Gamemaker, todo se lleva a cabo en una habitación Entonces se va a llevar a cabo, nos va a llevar al juego sobre sala y eso nos va a mostrar las estadísticas finales. Lo que también queremos hacer aquí es comprobar para volver al menú. Si la comprobación del teclado presiona es VK, inicia VK, inicia VK. Hagamos VK, cualquier llave, cualquier llave los llevará de vuelta. Lo que tenemos que hacer es asegurarnos de que el subir aquí, la opción que ha estado haciendo que se incremente en uno cada 1.5 segundos. Si eso equivale a tres, porque no queremos que se salten el juego por encima de la pantalla. Entonces vamos a volver al menú. Ahora recuerdas que hicimos esto anteriormente cuando teníamos la secuencia sorda. La secuencia de muerte aquí creó el objeto de habitación Clovel y fijó la T a la habitación actual Vamos a hacer algo muy parecido copiando eso y poniéndolo aquí. Pero vamos a poner R targ en lugar de a la habitación actual simplemente a nuestro menú Y eso va a crear, por lo tanto un efecto agradable con esto. Sin embargo, necesitamos asegurarnos de que el nivel de cierre del número de instancia sea igual a cero. No queremos que puedan hacer esto varias veces de esa manera, simplemente los llevará de vuelta a la pantalla del menú. Ahora el juego sobre pantalla también nos va a mostrar cuántas veces hemos muerto. Y nos va a mostrar el tiempo que nos hemos tomado. Eso por lo tanto va a hacer un efecto muy agradable. Pero como dije, tenemos que dibujar este texto. Aquí es donde va a entrar en su lugar un poco de prueba y error. Ahora lo que tenemos que hacer es primero crear una fuente. De hecho necesitaremos dos. Necesitaremos uno para mostrar el texto de felicitaciones grandes, y luego necesitaremos uno que muestre una información más pequeña. Vamos a crear una fuente aquí haciendo clic derecho y creando una fuente. Vamos a llamar a este texto grande. Ahora voy a usar una fuente que me gusta bastante llamó para más futuro. Ahora lo que puedes ver aquí es que sí tiene un bonito efecto de píxel. Queremos que se desactive el anti aliasing porque vamos por un efecto pixel art, pero si lo encendemos, podemos ver dónde se difumina ligeramente Ya ves que habrá algo de desenfoque alrededor de los bordes. Ahora no queremos eso porque queremos un bonito efecto pixel perfect. Si seguimos aumentando el tamaño, puedes ver dónde se alinea eso y no crea ese efecto. Los múltiplos de 12 parecen hacer el truco. Lo que estoy haciendo, por cierto, acercar y alejar es manteniendo presionada la tecla de control y moviendo la rueda del mouse También puedes hacerlo con las opciones de acercar y alejar aquí. Es muy útil acercar algo si quieres ver lo que estás haciendo con un poco más de detalle. Ese va a ser nuestro gran texto. Y luego también podemos duplicar un N texto pequeño. Ahora hay más cosas que puedes hacer con el texto y con las fuentes, pero no tenemos que preocuparnos por eso por ahora. Por ejemplo, podemos limitar cuántos personajes se mostrarán realmente cuando tengas un juego grande. Es posible que quieras limitar cuántos personajes hay porque eso realmente ahorrará algo de espacio cuando estés exportando tu juego. No obstante, esto es sólo un juego pequeño, así que no tenemos que preocuparnos por eso. Pero vamos a hacer una pausa ahí mismo. Únete de nuevo a mí en la segunda parte. Hemos empezado a hacer que este juego sobrescriba, y en esa parte lo pondremos todo junto 24. Finaliza la experiencia de Game Over: Bienvenido de nuevo a Gamemaker two D Platform Workshop. En la segunda parte, voy a estar mostrándote cómo armar el overscreen del juego que empezamos a crear en la primera parte Ahora lo que podemos hacer es usar algunas variables de prueba aquí. Nuestras variables de prueba, el tiempo MS es igual a cero, el tiempo m es igual a cero y el tiempo es igual a cero y la muerte es igual a cero. Ahora esos van a ser solo ejemplos, pero lo que vamos a hacer es cargarlos con los valores correctos. Después, si entramos en nuestro evento de cajón, ahora podemos empezar a dibujar primero lo primero, necesitamos establecer la fuente en N texto grande. Y necesitamos establecer la alineación para H. Línea dos controles centrales los comandos para la alineación del texto. Entonces necesitamos dibujar, ahora por defecto está arriba a la izquierda, vamos a mantenerlo en la parte superior, pero queremos centrarlo. En realidad vamos a establecer el color también para ver el blanco. También es una buena práctica. ¿Por qué varios, solo presiono F 11 por accidente pero eso minimiza estos paneles al lado feliz accidente Pero es un buen consejo para la Tierra. Quieres enfocarte en lo que estás haciendo y quieres que los paneles desaparezcan. Son las 12 y 11, pero aquí nos estamos desviando. Pero eso no es lo que estoy aquí para mostrarte. Vamos a poner alfa en uno. Ahora esa es la transparencia. Dejemos que dibujemos el texto. Lo primero que vamos a dibujar es configurar el ancho de habitación sobre dos. Intentemos 100 de nuevo. Va a ser algún ensayo y error para hacerlo bien. Y vamos a dibujar el texto en las gratulaciones. Ahora lo que podemos hacer, podemos configurar el juego sobre pantalla para que sea primero. Sólo para que podamos comprobar que eso se ve bien. Ahora lo que encontraremos es que vamos a dibujar el texto. Enhorabuena en la esquina superior, en el medio. Así, sin embargo, no hemos establecido la fuente. Lo que tenemos aquí vas a nuestras fuentes. Es N texto grande. Hicimos dibujar conjunto de fuente. Vamos a intentarlo de nuevo. Bien, ahí vamos. Eso lo tiene. A veces cuando estás agregando nuevo texto y también cuando estás agregando nuevos elementos, nuevos activos, ese tipo de cosas, es posible que tengas que reiniciar Game Maker si no se guarda correctamente. Por lo general lo hace, pero ocasionalmente eso arreglará la solución. Ahí tenemos la palabra felicitaciones. Ahora eso es bofetada en el medio. Queríamos ir un poco más alto que eso, así que pongámoslo a los 60 y vamos a empezar a meter las cosas. Entonces, si ponemos drapé, usemos los sprites que hemos importado antes, la caja de muerte Ahora estas cajas, vamos a comprobar qué tan anchas son. 180. Bien. Queremos que lo hagan, queremos que estén espaciados uniformemente en el medio. Dibujemos un primer juego de sprites sobre caja sorda. Hagamos esa habitación con más de dos. Digamos que si lo hacemos por menos 180 o -200 incluso. Pongamos eso, pongamos eso en el medio. Nuevamente, se trata de barajar las cosas y ver cómo se ven También vamos a hacer la caja de tiempo también. Con esa, vamos a tomar el nombre de eso, aquí, más 200. Eso podría ser una brecha demasiado grande. Bastante seguro que lo hará, pero es prueba y error. Sí, absolutamente. Muy lejos. Además, establecí la coordenada y en cero. Lo que voy a hacer es establecer esa altura de habitación sobre dos y la altura de la habitación sobre dos para esta también. Altura de la habitación más de dos, digamos que están separados 100. Eso debería darnos un poco más de idea de lo que estamos trabajando Ahí vamos. Eso me parece un poco mejor. Ahora vamos a movernos, felicitaciones envía un mensaje de texto un poco establecido. Vamos a establecer esto antes de dibujar los sprites a establecer, vamos a establecer eso a N texto pequeño Entonces vamos a dibujar algo de texto aquí también. Vamos a texto, ahora vamos a establecer esto, tenemos ancho de habitación sobre dos -100 Ahora con este en particular, queremos barajar ligeramente donde está 180 Pero también hay que recordar las cajas en la forma en que dibujarlo en el centro muerto no va a funcionar. Vamos a intentar 30 de ancho de nuevo. Es prueba y error, averiguando qué funciona y altura de la habitación. Digamos que este va a ser el texto de la muerte. Digamos que 520. Sorprendentemente optimista. Hagamos también esto, uno más 130. Ese va a ser nuestro tiempo. Digamos 24 minutos. Son 57.6 segundos. De nuevo, en este momento solo estamos probando. Es mucho ensayo y error solo para averiguar qué encaja y cómo encaja. Lo que también vamos a querer hacer es mover el texto arriba porque el punto muerto, cuando está alineado en la parte superior, no se ve necesariamente tan bien. Vamos a intentarlo, digamos 20 pixeles de alto. Y veamos cómo se ve eso. Bien, eso es demasiado alto. Yo diría que la coordenada x se ve bien. Pero ajustemos eso a la baja para decir 15. Nuevamente, cuando estás haciendo cosas como dibujar, configurar, primero quieres dibujar el cuadro completo solo para ver cómo se ve. Yo diría que en realidad, probablemente diez está más cerca. Una vez que tengas esta configuración, por supuesto puedes configurar una pantalla y burlarla tú mismo con anticipación. Prefiero simplemente sumergirme, en el fondo, pero claro, casi ahí. Diga 12. Veamos cómo se ve afuera -12 A medida que avanzas, vas a hacer algunas pruebas y errores más y lo vas a ver en vivo. Si realmente lo haces en el juego en lugar de una pantalla simulada. Ahí vamos. Yo diría que se ve bien. Y luego hagamos nuestro último bit, que también va a ser con un pequeño texto. Y eso va a ser presionar cualquier tecla para regresar. Agradable y sencillo. Y vamos a poner eso en, digamos que la altura de la habitación sobre dos. Ahora bien estos eran, creo, 80 grandes. Vamos más allá en la orientación media. Digamos 60. Tal vez 55. Nuevamente, todo ensayo y error, eso se ve bien. A lo mejor sólo un poco más alto, tal vez. Probemos 50. Esto, por lo tanto, debería hacer un juego muy bonito sobre la pantalla. Ahí vamos. Ahora todo lo que tenemos que hacer es poblar estos valores Lo que vamos a hacer aquí es meter esas variables. Lo primero que necesitamos es el valor del espectáculo. Vamos a sumar esto en cada uno de estos. Entonces la primera, la coordenada y aquí, va a ser y más mostrar cero. Entonces este va a ser uno, muestra dos. Lo mismo con estos. Mostrar uno. En realidad, eso está en la posición equivocada. Tenemos que estar aquí más mostrar uno, y, y mostrar dos. Entonces finalmente, este será más show tres. Ahora deberíamos ver que estos elementos aparecen lentamente, aparecen rápidamente, pero uno por uno. Fuera de la pantalla. Ahí vamos. Ahora si pulsamos alguna tecla, deberíamos poder volver a la salida, al menú. Aunque eso sería, si sube aquí, digamos si eso equivaldría a cuatro, porque eso terminaría en cuatro. Ahora ya lo veremos. Pre. Enhorabuena, ya volvemos al menú. Eso es tan sencillo como eso. creado un juego sobre pantalla. En la siguiente y última lección, lo que voy a hacer es mostrarte cómo poblar eso con valores reales Y hablarte de algún diseño de niveles. Porque el diseño de niveles es un aspecto importante de este juego, y de hecho cualquier juego que crees en el futuro. Así que de nuevo, esta ha sido una lección un poco más larga de lo habitual solo para preparar nuestro juego sobre la pantalla. Pero será aún más dulce cuando tengamos un maravilloso final de nuestro juego Así que estad atentos para el siguiente nivel, siguiente nivel, siguiente lección. Pero lo empataremos todo y tendremos un juego completo terminado. 25. Estrategia y técnicas de diseño de niveles avanzados: Bienvenido de nuevo a Gamemaker Two D Platform, un taller de la última lección En lo que va de la lección anteriormente hemos creado un juego sobre pantalla. Ahora este juego sobre pantalla muy rápidamente nos muestra cuántas muertes, cuánto tiempo. Y nos permite volver a la pantalla del menú principal. Enhorabuena tiempo, y presiona Cualquier Clave para Regresar. Perfecto. No obstante, lo que no hemos hecho aquí es en realidad poblar estos valores Ahora tenemos que hacer eso. Hemos establecido algunas variables globales. Si lo recuerdas en nuestro controlador de menú, los hemos configurado, los estamos mostrando así. Lo que realmente queremos hacer es moverlas al evento de cajón y usarlas como variables locales. Lo primero que vamos a hacer es asegurarnos de recordarnos estas variables. Sólo voy a copiarlos y pegarlos en el cajón y poner algunos comentarios alrededor de ellos solo para que sepamos cuáles son. Lejos, D es igual a global una barra va a igualar. Ahora en realidad vamos a poner cadena alrededor esto porque queremos que se muestre como una cadena. Ahora la razón es porque como almacenarlo como valor numérico, puede ser diferente, no necesariamente puede alterarse. De la misma manera, cuando estamos combinando cuerdas, vamos a concantonar Lo que eso significa es que vamos a juntar diferentes cadenas. Hay una manera en la que puedes simplemente concantonarusando Esa es una manera de hacerlo. No obstante, lo que tenemos que hacer es ajustar ligeramente los valores a medida que avanzamos. Lo que vamos a hacer en cambio es más igual más igual a cadena de tiempo global. Eso está muy bien, así es como muchos minutos te tomas. Ahora bien, si el tiempo global es mayor que diez, en realidad mayor que nueve, entonces t valor de tiempo estamos usando O más tiempos globales de cadena iguales. Sin embargo, si es menor a diez, entonces t más es igual a cero. Entonces entre esta t más igual a dos puntos, entonces vamos a poner t us es igual a un punto para las temperaturas de un segundo. Y vamos a hacer el último, que es t más igual cadena global punto S. Nos va a mostrar a la decimoquinta de segundo. Qué es eso, la razón por la que no estamos concantinando es porque tenemos esto aquí, lo que sumará un cero antes de los segundos, si los segundos son menores Ahora lo que mostramos aquí, en lugar de estos dígitos aleatorios, vamos a mostrar la variable D, las profundidades, y la variable t, el tiempo. Ahora si empezamos esto ahora, va a arrojar un error. Eso es porque no tenemos los establecidos de antemano. No obstante, lo que vamos a hacer es aprovechar esto como una oportunidad para platicar contigo sobre el diseño de niveles. Al hacerlo, veremos nuestro juego sobre pantalla en la práctica, porque eso llegará al final del Nivel 15. De hecho, empecemos esto y te enseñemos exactamente a lo que me refiero. Aquí tenemos nuestro juego. Esto es todo por lo que hemos trabajado. Esto es todo en lo que hemos estado trabajando durante las últimas lecciones. Esto es lo que realmente hemos creado Como resultado, tenemos, por supuesto, recordar nuestra pantalla de menú. He apagado el sonido para que me oigas hablar. En cambio, he implementado una función de prueba a que era la forma de prueba, el temblor de pantalla. No, fue R. Para pasar al siguiente nivel, nuestro primer nivel. Ahora ya ves que la hemos vestido aquí arriba. Esto introduce el concepto central. El concepto principal es recoger los chips de computadora. Tenemos algunas flechas en el fondo solo para empujarnos suavemente Queremos que el jugador sea intuitivo por su cuenta y se entere de lo que está pasando, pero no de tal manera que básicamente le quite todo. Queremos que entiendan lo que está pasando. En realidad, déjame revisar algo primero. Había un ligero error en el objeto de control, lo que necesitábamos darnos cuenta. Esta parte se estableció antes de que se estableciera esta variable. Después comprobamos si el jugador no existe. Cuando el jugador no existe y el mucho, decía que las variables no existen, provocó un pequeño congelamiento del juego lo arreglamos. Ahora vamos a mostrarte un poco más sobre el diseño de niveles. Lo más importante, como ya he dicho, es discutir. Introduciendo el concepto. Estamos introduciendo el concepto mismo del mecanismo de control. El jugador va a entender lo que está haciendo. Habrá algunas pistas muy delicadas con las flechas mostrando hacia dónde estaban destinadas a ir. A medida que se mueven, recogen los chips de computadora. Y voy a mirar, eso se abre y podemos entrar, perfecto. Ahora, cuando introducimos un nuevo concepto, me gusta considerar tres enfoques diferentes. Tres pasos diferentes para introducir un nuevo concepto. Primero, introducimos el concepto en un ambiente seguro. En segundo lugar, ahora en este juego hay mucha muerte. ambiente seguro no siempre puede suceder, pero en un entorno donde va a ser difícil estropearlo. En segundo lugar, lo introducimos en un entorno desafiante. Y en tercer lugar, lo introducimos de una manera nueva. Ahora hemos codificado varias cosas diferentes en este juego. Si introducimos picos en la última vez, ahora los estamos introduciendo de una manera un poco más desafiante aquí. Y también estamos introduciendo los conceptos de picos arriba y abajo. Los picos arriba y abajo se están retirando, los picos se introducen en un ambiente seguro aquí Y luego vamos a ser introducidos una manera un poco más desafiante en el siguiente nivel, ya ves aquí, se introducen de una manera que plantea más un reto porque hay que averiguar el tiempo de antemano para que no te pinten Como puedes ver aquí, hay que considerar el movimiento. Y luego se introducirá de una manera diferente a medida que las cosas avancen en el juego. Por ejemplo, tomemos a estos enemigos caminantes, enemigos caminantes. Aquí estamos introduciendo esto en un ambiente seguro. Los vemos, podemos evitarlos fácilmente, podemos saltar sobre ellos y mirar, hemos aprendido a saltar un poco más alto de sus espaldas. Estamos presentando a las mujeres de una manera desafiante aquí donde hay un poco más de ellas. Después en el siguiente nivel, los presentaremos. Un nuevo concepto. En un nuevo concepto, va a ser, hay muchos de ellos, mientras que has aprendido a saltar sobre ellos en este caso. En este caso, tal vez queremos aprender que no es buena idea saltar siempre sobre ellos. Estamos introduciendo un nuevo reto con un concepto existente. Todo lo que estás haciendo, cada parte de tu juego de plataformas debe introducir diferentes conceptos de diferentes maneras. Mira este de aquí, estamos introduciendo claves. Los estamos presentando primero. Ahora en un concepto muy seguro, el concepto aquí es que recoges la llave y desbloqueará la puerta. Eso es muy fácil, podemos hacerlo. Recogeremos la llave, abriremos la puerta. Ahora bien, si miramos al siguiente, lo estamos introduciendo de una manera un poco más desafiante. La clave es más difícil de conseguir y volver de ella porque hay muchos más enemigos y obstáculos, y hay dos llaves que tienes que recolectar en el camino. Cuando recojas la llave, entonces podrás obtener el premio detrás de ella, que es así de justo. Ahora en el siguiente nivel, estamos introduciendo un nuevo concepto con las llaves, donde los candados de llaves reales actúan como una pared, que al moverse, de repente representan una amenaza Estás introduciendo lo mismo de una manera diferente. Ahora tomemos, por ejemplo, estos bloques que aparecen dentro y fuera. Los estamos introduciendo en un ambiente seguro. Puedes pararte sobre ellos si te caes de ellos. Sólo un pequeño contratiempo, estás de vuelta en ellos otra vez. Al siguiente nivel los estamos introduciendo de una manera un poco más desafiante. Van y vienen un poco más rápido, pero un poco más frecuentes. Ahora estamos introduciendo una nueva forma usarlos porque, por supuesto, tu movimiento es limitado. Si te quedas atrapado aquí e intentas apartarte del camino, o te vas a morir o te vas a quedar sin batería. Cuando el juego se llama batería, no queremos quedarnos sin batería. También estamos recordando a nuestros jugadores una palabra anterior, truco, o un poco de un engaño que usaríamos Donde las barreras clave o los candados que se crean a partir de los bloques que existen porque no hemos recogido llaves, también nos benefician. Entonces les estamos recordando a los jugadores las cosas que ya enseñamos Ahora echa un vistazo a estas bolas de espiga. estamos introduciendo aquí en un ambiente relativamente seguro. Puedo sortearlos. Éste no me va a atacar. Vemos las diferentes formas de movimiento que realizan. Y luego los estamos introduciendo de una manera un poco más desafiante aquí. Se mueven más lentamente. Tienes que planificar tus movimientos hacia adelante y tienes que pensar rápido para que no te pinten Y tenemos que hacer mucho de ida y vuelta, y es probable que nos vayan a golpear. Y ahora los estamos introduciendo de una manera diferente donde representan una amenaza mucho más desafiante para nosotros. Se trata de introducir las cosas de una manera diferente. Ahora este es el nivel 14. También he puesto ahí esos indicadores numéricos. En nuestro nivel final, empatamos todo lo que ya usamos, todo lo que ya está construido hasta este punto. En el nivel 15, hay mucha más variedad sobre qué caminos seguirías, qué conceptos tomas, qué enfoques podrías tomar para no quedarte sin batería antes de llegar a la salida, que actualmente está detrás de mi cabeza. Ahora así es como conceptualizamos el diseño de niveles. También noté que he hecho un ligero error tipográfico aquí, de nuevo sobre la pantalla Debemos asegurarnos de que nuestras variables sean nombradas correctamente porque eso provocará algunos problemas. Se trata de prueba y error, de vivir y de aprender. Sin embargo, con eso en mente, asegurémonos de que nuestro juego sobre pantalla funcione. Recuerdo haber puesto en R. Vamos a asegurarnos de que tenemos un par de muertes. Sólo opsidasía. Opsidasey. Sólo para asegurarnos de que lo estamos contando correctamente. Yo no morí, planeaba volver a morir, se trata de enseñar al jugador sin mostrarlo realmente. Queremos que lo descubran por sí mismos, pero queremos introducir nuevas formas de utilizar los conceptos existentes. Tan terriblemente torpe podría caerse accidentalmente. Oh, no, lo hicimos. Hemos muerto algunas veces. No hemos pasado mucho tiempo pasando por los niveles. Esta vez tenemos un juego sobre pantalla que ahora nos muestra una representación precisa de los tiempos que realmente podemos completar ese juego en 33 segundos. Estaría muy impresionado porque probablemente tomaría solo un poco más de tiempo que eso. De hecho, agreguemos una pequeña salvaguardia. La salvaguardia es muy importante cuando se tienen cuadros de texto con cantidades de tiempo muy restringidas, global en tiempo global es mayor o igual a camioneta más grande, 100 más grande que 99 entonces solo va a igualar, vamos a anularlo por completo y solo ponerle eso. Si pasas más de 99 minutos, entonces tal vez necesites cómo jugar el juego un poco mejor. Pero eso nos va a salvaguardar de que alguien deje el juego de la noche a la mañana para luego completarlo. Y solo está mostrando una enorme cantidad de texto que se desborda de la caja La salvaguardia es una parte importante de los trucos de diseño. Ahora, solo he hecho 15 niveles porque he tenido introducciones a diferentes conceptos que he creado contigo he presentado primero, mostrándote cómo funcionan. En segundo lugar, lanzándolos a un poco de desafío. Y en tercer lugar, agregar una forma diferente de ver el mismo objeto. Es decir, cómo se debe introducir un nuevo concepto. Sin embargo, no he reunido muchos niveles conceptuales que no involucren este acertijo. Diferentes cosas que puedes agregar cuando estás haciendo tus juegos, ¿por qué no pensar en cosas que también ves en los juegos de plataformas? Si echamos un vistazo a los manantiales, por ejemplo. Si recuerdas el código que usamos cuando saltas encima de un enemigo. Entonces por ejemplo, el guión enemigo aquí, si recuerdas el guión del jugador cuando chocamos con un enemigo Si nos fijamos en eso donde comprobamos si éramos superiores al valor y del otro jugador, hicimos un salto. ¿Por qué no los resortes son lo mismo, pero en realidad no te matan? Bueno, echemos un vistazo a los interruptores. Por ejemplo, digamos que tuviste un switch, lo golpeaste y una caja cambió de transparente a sólida, si recuerdas modo igual 1.0 Y luego cómo conceptualizamos eso con el valor de inicio cambiando para los valores x y la variable de inicio, así va al inicio X o muy fuera de la pantalla Y por lo tanto actúa como un sólido o no sólido dependiendo de dónde se encuentre. ¿Por qué no le hacemos eso a un interruptor si hacemos un evento de colisión con un interruptor, o por qué no mirar a más enemigos? Considera diferentes estilos de movimiento, diferentes patrones. ¿Y los que se mueven a lo largo de una cinta transportadora, por ejemplo, o quizás más artículos coleccionables ¿Y las gemas si las tuvieras para abrir una puerta? Mira la forma en que hicimos las llaves por ejemplo. O por qué no Dos llaves de diferentes colores, llaves plateadas y llaves doradas a modo de ejemplo, o como estamos haciendo un juego sobre baterías y quedarse sin baterías, ¿por qué no tener un coleccionable donde recoges una batería para obtener más energía de batería Si observa la variable de su batería, puede considerar cambiarla nuevamente incrementándola y asegurándose de que no supere el valor máximo. A lo que me refiero aquí es que hemos creado muchos conceptos para crear aquí un juego muy sencillo. Pero hay tantas cosas más que puedes agregar y debes agregar cuando estés haciendo un juego de plataformas en toda regla Cada nivel tiene tantos conceptos diferentes y obtienes mucho más contenido introducir gradualmente estos conceptos y luego combinarlos en un gran rompecabezas. Así que piensa en esto cuando estés haciendo tu juego. Piensa en qué conceptos hay en otros juegos de plataformas y cómo puedes interpretarlo en tu propio juego en el futuro. A medida que concluimos la plataforma Gamemaker two D el curso taller, quiero extender mi más sincero agradecimiento por acompañarme en este viaje creativo Espero que el curso te haya parecido atractivo e informativo. Si has disfrutado de tu experiencia, considera dejar la calificación y compartir tus comentarios a través de una reseña. Su aporte es invaluable ya que nos ayuda a refinar y mejorar nuestros cursos futuros. A estas alturas, estoy seguro de que has adquirido las habilidades y los conocimientos necesarios para elaborar un divertido y emocionante juego de plataformas. Juntos, hemos cubierto todos los pasos esenciales necesarios para crear una cautivadora aventura de ciencia ficción con nuestro pequeño personaje de robot Tus nuevas habilidades servirán como una base sólida para cualquier proyecto de desarrollo de juegos que elijas emprender a continuación. Si estás ansioso por seguir aprendiendo y ampliar tu repertorio de desarrollo de juegos, te recomiendo encarecidamente explorar nuestros otros cursos En particular, nuestro curso sobre creación pixel art para juegos es un fantástico siguiente paso si te interesa personalizar la estética de tu plataforma o cualquier otro proyecto de juego, este curso te equipará con las técnicas para dar vida a tu visión artística única Gracias de nuevo por elegir aprender con nosotros. Espero ver los increíbles juegos que crearás. Y ojalá tenerte pronto como estudiante en otro curso. Sigue creando, sigue experimentando y, lo más importante, sigue divirtiéndote con el desarrollo de juegos