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