Aprende a hacer juegos rompiendo con Godot | Michael Mcguire | Skillshare

Velocidad de reproducción


1.0x


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

Aprende a hacer juegos rompiendo con Godot

teacher avatar Michael Mcguire, Author | Programmer

Ve esta clase y miles más

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

Ve esta clase y miles más

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

Lecciones en esta clase

    • 1.

      Introducción a Skillshare

      0:39

    • 2.

      Qué es el breakout

      2:58

    • 3.

      Preparación del proyecto

      8:24

    • 4.

      Crear la paleta

      6:54

    • 5.

      Modificación del jugador

      1:05

    • 6.

      Crear el balón

      14:04

    • 7.

      Crear los ladrillos

      10:29

    • 8.

      El sistema de puntuación

      8:07

    • 9.

      Corrección de errores después de la puntuación

      2:01

    • 10.

      El recuento de bolas

      6:06

    • 11.

      Juego final y victoria

      15:13

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

Generado por la comunidad

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

14

Estudiantes

--

Proyectos

Acerca de esta clase

Vuelve a donde todo comenzó y comienza tu viaje de desarrollo de juegos recreando uno de los juegos más icónicos de la historia.

En esta clase apta para principiantes, aprenderás a recrear el juego Breakout original de 1976 con el Godot Engine, gratuito y de código abierto. Este proyecto se centra en los fundamentos: código limpio, mecánica básica y simplicidad visual fiel, al igual que el original arcade.

Al terminar, comprenderás mejor lo siguiente:

Conoce a tu profesor(a)

Teacher Profile Image

Michael Mcguire

Author | Programmer

Profesor(a)
Level: Beginner

Valoración de la clase

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

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

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

Transcripciones

1. Introducción a Skillshare: Este curso, vamos a seguir adelante y crear un clásico que aún consigue remake hasta el día de hoy, incluso sobre todo en la plataforma móvil Y a este juego se le llama ruptura. Ahora, el objetivo de aquí es que tengas una pelota que esté rebotando a los lados de las paredes Lo rebotas en tu remo, y tu objetivo es romper todos los ladrillos que veas en pantalla. Diferentes ladrillos te dan o ladrillos de diferentes colores, te da diferentes cantidades de puntos. Muy bien. Esto es emocionante. Sigamos adelante y empecemos a recrear este clásico juego que tal vez tú o incluso tus padres hayan jugado o todavía jueguen hasta el día de hoy 2. Qué es el breakout: A continuación en esta sección, vamos a hacerle una ligera alteración a Pong, y ese va a ser un juego llamado breakout. Este es de 1976, y un factoide interesante sobre esto es que la pantalla solo era blanco y negro, sin embargo, teníamos color así, y teníamos color como este, como puede ver en la pantalla aquí, porque en realidad pusieron algo de celofán coloreado en la pantalla o en la pantalla Pero así se les puso color ahí porque la pantalla en sí, como dije, sólo era blanco y negro. Ahora bien, ¿qué es la ruptura? Bueno, voy a tocar un poco, pero ten en cuenta que hay un poco de destello. Puedes ver mi mouse aquí en la parte superior izquierda de tu pantalla en este momento. Y si tuviéramos que jugar eso, podemos ver lo que básicamente tenemos aquí es una pelota rebotando por los costados y golpeando una paleta y siendo rebotada de nuevo arriba Y estoy haciendo esto haciendo ruptura justo después de Pong aquí porque, como pueden ver, solo a base de esos específicamente, ya tenemos un sistema similar tipo de configuración con Pong Entonces vamos a estar construyendo a partir de lo que acabamos de hacer en el proyecto anterior. Ahora bien, en realidad no necesitamos este de aquí en la parte superior. Esto es yo creo solo demostrando que este es el jugador uno. Técnicamente, es cosa de dos jugadores, pero cada persona simplemente se turna de todos modos, así que sólo vamos a dejarlo como un jugador. Además el sistema de dos jugadores tenía una máquina grande con ella de todos modos, sí. Este siguiente aquí a la derecha de ese que aún queda en la parte superior. Si avanzo, deberíamos ver números. Ahí vamos. Entonces eso es hacer un seguimiento de en qué pelota estás. Entonces estás en la bola uno, la bola dos, la bola tres. Una vez que golpeas la bola cuatro, entonces eso es un juego terminado. Y el número aquí arriba en la esquina que estaba parpadeando, esos son los puntos que obtienes. Los ladrillos amarillos te dan un punto, los ladrillos verdes te dan tres puntos, los ladrillos naranjas te dan cinco puntos y los ladrillos rojos te dan siete puntos. Ahora, tu objetivo es despejar completamente el tablero de todos los ladrillos. El balón se acelera, se vuelve más difícil. Y como ves aquí, en comparación con el Pong, aquí tienes una paleta bastante pequeña. Para poner esto en marcha. Ahora, cuando vences el juego, estoy bastante seguro de que el juego simplemente se restablece tal como lo haría si terminaras un juego de todos modos Entonces podemos usar la misma lógica con eso, ya sea que ganemos o perdamos, solo haciendo un reset. Pero eso es ruptura. Si no sabías lo que era eso, y estoy seguro que hay algunas versiones modernas del juego que están ahí fuera. Pero si no sabías lo que era eso, entonces ahora lo haces. Y sigamos adelante y saltemos a poner en marcha nuestro proyecto. 3. Preparación del proyecto: Entonces para la ruptura aquí, creo que sólo voy a dejar la misma resolución de proyecto que usamos con Pong Si quisieras cambiarlo, claro, siéntete libre de. De nuevo, eso está en la pantalla de configuración del proyecto y Ventana. Pero sólo voy a seguir con lo que tuve del último que hicimos en Pong. Me he metido en mi proyecto creé una carpeta para grupos, claro Si vas a establecer el tuyo como un proyecto separado, probablemente lo vas a llamar ruptura porque eso es lo que es Y una vez que estés listo para comenzar, y luego podremos crear nuestra escena principal, que obviamente no va a ser mucho aquí cuando lo pensemos. Supongo que podríamos meter el vals para esto. ¿Queremos hacer eso? Sí, hagámoslo. Entonces voy a crear un dos D. Yo sólo voy a sectar dos D aquí. Eso me va a dar una raíz. un no dos D, lo cual está perfectamente bien. Para ello, voy a seguir adelante y hacer lo que suelo hacer y cambiarle el nombre para que diga Mío. Voy a guardarlo dentro de mi carpeta de desglose. Y como decía Glick Pong, sólo voy a salvar el mío como SCN, pero puedes dejar el tuyo como TSCN ¿Todo bien? Entonces tengo mi proyecto aquí. Ahora, ¿qué necesitamos? ¿Necesitamos? Bueno, al final vamos a tener un pádel, pero eso va a estar en la sección de jugadores. Necesitamos la pelota. El balón tendrá su propia sección. Podemos poner las etiquetas para UI, ¿no? Entonces vamos a necesitar un lugar para anotar, y vamos a necesitar un lugar para hacer un seguimiento de las vidas o en qué pelota está el jugador. Y vamos a necesitar muros alrededor de todo el asunto. Entonces voy a subir. Vamos a hacer una capa de lienzo, igual que siempre hacemos para nuestros Gooeys Entonces voy a seguir adelante y renombrarlo GUI. Dentro de eso es donde voy a hacer mi etiqueta queremos mantenernos precisos, podemos establecer eso como uno. Eso está bien. Podemos llamarlo jugador. Honestamente, eso está perfectamente bien. Realmente no necesitamos hacer nada fuera de eso. A continuación, en lugar de jugador, esta sería, supongo, nuestras vidas, ¿verdad? Vidas o conteo de bolas. Balón actual. Sí, voy a ir al balón actual, y eso va a empezar como uno por defecto, también. Ahora fíjate, voy a cambiar los anclajes de este de nuestro contador de bolas para que quede en la parte superior derecha Y voy a dejar la alineación para que quede a la izquierda, solo para que esté alejada del borde. Y en el jugador, voy a cambiar la alineación para que sea la alineación horizontal para estar a la derecha para de nuevo, alejarla del borde. Esto es solo una preferencia personal aquí. Y vamos a necesitar dos etiquetas más. Así que sólo voy a duplicar jugador aquí y tirarlo hacia abajo. Y yo sólo voy a llamar a esto una anotación. Supongo que técnicamente debería llamarlo etiqueta de puntuación porque eso es lo que es. Y voy a cambiar el nombre de la bola actual a la etiqueta de bola actual. Porque no necesitamos tener variables para tener exactamente el mismo nombre que otras notas de la escena, y va a hacer las cosas un poco confusas a medida que lo hagamos. etiqueta de puntuación obviamente va a ser tres ceros para nosotros aquí. Todo bien. Entonces vamos a necesitar que nos instalen muros. Entonces estas paredes, voy a dar click de nuevo a mi nodo principal. Vamos a sumar y las paredes no se mueven. Entonces voy a usar un cuerpo estático dos D. Recuerden, estos no se mueven en absoluto, no importa lo que les golpee. Ahora bien, estas estas la única razón por la que estoy haciendo esto es porque eran visibles en el juego original. Entonces voy a agregar un sprite dos D a mi cuerpo estático. Y recuerda, es un cuerpo de física, y tiene el triángulo amarillo para decirnos, oye, necesita una colisión. Entonces, agreguémosle una forma de colisión. Y podemos seguir adelante y darle esa forma, darle un rectángulo. Eso está bien. Sprite dos D. Textura, ve a hacer exactamente como lo hacíamos antes Nueva textura de degradado, ábrela, abre nuestro degradado, selecciona el negro, cámbialo a blanco. Y ahora sólo voy a cambiar el tamaño de la misma. Brink hacia abajo. Voy a tirar todo el asunto hacia abajo. Y vamos a extenderlo todo el camino. Bien. Entonces tengo una pared aquí. Voy a cambiar el nombre de mi cuerpo estático, digamos pared. Voy a hacerlo con ese seleccionado. Oh, tengo que cambiar mi forma de colisión también. Entonces ahora, voy a golpear Control D en mi pared aquí para hacer un duplicado, pero hay algo que sí hay que tener en cuenta. Si estás haciendo esto en cómo no puedo simplemente agarrar una sujeción en esa flecha. Aquí vamos. Simplemente arrástralo. Aproximadamente centrado. Ahí vamos. Si estás duplicando, a veces hay cosas que sí necesitas para hacer únicas aquí Por ejemplo, si sigo adelante y agarro la forma de colisión aquí en mi primera y la cambio, ves que afecta a ambos. Entonces, lo que realmente tenemos que hacer es entrar en nuestra pared, nuestra segunda pared, y tenemos que entrar en cosas como nuestra forma de colisión en la forma y nuestro inspector, ir al menú desplegable y seleccionar Hacer único. Y ahora, si tuviéramos que cambiar esto, no va a afectar a ambos. Sólo va a afectar al uno porque ahora se clasifican como objetos separados, formas separadas. Entonces no están compartiendo el mismo. Todo bien. Y necesitamos una pared más para atravesar la parte superior. Así que vamos a necesitar en algún lugar alrededor del centro, y necesitamos cambiar el tamaño de estos objetos Sprint que hacia abajo. Y yo sólo voy a comparar una talla por aquí. Eso es aproximadamente del mismo grosor. Bien. Y voy a sacar mi sprite. Ajustes. Aquí vamos. Eso está bien. Ahora tengo que hacer lo mismo con la forma. Pero recuerda, lo dupliqué, así que necesito entrar y hacerlo único antes de cambiarlo. Y ahora puedo entrar y manipularlo de la manera que quiera Alinee eso. Excelente. Entonces ahora tenemos nuestros tres muros establecidos, y ellos tienen su colisión. Entonces, si la pelota le pega, solo tenemos que configurar el rebote, y debería estar bien El fondo es de par en par abierto. Nuestro remo, podemos simplemente dar una bofetada ahí. Cuando hagamos a nuestro jugador, la pelota, prepararemos más tarde, y los ladrillos, creo, lo haremos más tarde también, lo que significa que creo que hemos terminado con nuestra configuración aquí. Así que adelante y los veré chicos en la siguiente donde continuaremos y comenzaremos montando nuestro pádel. 4. Crear la paleta: Sigamos adelante y creamos la batalla por la ruptura. Entonces esto va a ser similar a Pong, sólo que en vez de movernos hacia arriba y hacia abajo, vamos a estar moviéndonos de izquierda a derecha. Entonces, en nuestra escena principal. Y si aún no lo has hecho, probablemente deberías ahorrar ya que ya te has configurado. Podemos seguir adelante y agregarle un cuerpo de personaje dos D porque ese va a ser nuestro jugador. Podemos añadir un sprite dos D para que podamos exhibir nuestra paleta. Y por supuesto, también vamos a necesitar una forma de colisión en ese cuerpo de personaje. Entonces voy a renombrar mi cuerpo de personaje para que se llame jugador. Sprite dos D, voy a entrar en la textura, nuevo degradado textura dos D, seleccionarlo, abrir el degradado, pintar el negro, cambiarlo a blanco Puedo ver que no está cambiando ahí automáticamente para nosotros, así que solo voy a usar HDR y luego apagarlo. Ahora, tenemos una pequeña paleta con esto, así que sólo voy a seguir adelante y bajar eso. Sí, tal vez algo así estaría bien. Y voy a añadir una forma de colisión. Voy a cambiar el color de esto para que destaque. Vamos a ir con rojo. Y voy a hacer que sea un rectángulo. Brínalo para ser el lado de nuestro remo. Perfecto. Ahora agarra a nuestro jugador y muévelo hacia abajo en la pantalla hasta donde queremos que esté una buena posición inicial. Voy a tener un espacio debajo de mi jugador debajo de mi remo. Voy a seguir adelante y correr esta escena y echarle un vistazo, a ver cómo me gusta. Sí, creo que es un espacio justo para poner. Todo bien. Entonces voy a ir ahora la configuración de mi proyecto. Voy a crear mis mapeos que voy a usar para este juego Ahora, en este caso, ya tengo algunos de estos que tenía anteriormente, pero creo que voy a seguir con el tema, y sólo voy a salir a la izquierda y a salir a la derecha. No, a la izquierda claro, va a ser A. Derecha, va a ser D. Por supuesto, para ti, podrían ser las teclas de flecha si lo prefieres. Y ahora nuestro jugador necesita un guión, para que podamos movernos. A ver. Res, jugador breakout. Sí, está bien. Extendiendo un cuerpo de carácter dos D, escritura GD escritura. Bien, crea. Y todo lo que necesitamos aquí es nuestro movimiento. Entonces, si recuerdas de antes, teníamos una velocidad que era un int de algún número. Voy a seguir adelante y fijarlo en 30. Y veamos. Podemos entrar en nuestra función, el proceso de física porque aquí estamos lidiando con el movimiento, y podemos seguir adelante y usar mover y deslizar, aunque tal vez querríamos movernos y colisionar esta vez Podemos probarlo. A ver qué pasa. Muévete y choca y nosotros solo pasaremos en la velocidad nosotros mismos Y nuestro punto de velocidad X. Necesitamos realmente obtener primero nuestras entradas. Entonces entré punto es acción, Presionado, romper a la izquierda. Entonces esta vamos a ir negativa en la X. Entonces digamos que la velocidad X igual a negativa una vez velocidad. L si la entrada es presionada por acción. Estalla, bien. Vamos a hacer lo contrario. Vamos a hacer que el punto de velocidad X sea igual a una vez nuestra velocidad, y podemos echarle un vistazo a eso. Yo sólo voy a seguir adelante y correr la escena. Y me acabo de dar cuenta de que no puse otra cosa ahí. Entonces, si le pego una vez, vamos a movernos, y eso es muy rápido. Así que probablemente voy a rechazar mucho eso. Bajaremos a cinco, y podríamos intentar eso. Y voy a seguir adelante y poner nuestro otro bloque ahí dentro. Así que de lo contrario Punto de velocidad X es igual. En realidad, ya sabes lo que solo puedo decir en general la velocidad equivale a un vector 20, y eso es lo que nos va a dar un cero en la X y cero para la Y, lo cual está bien porque la Y no se ve afectada en este juego para nosotros. Y esto es simplemente más fácil leer que hacer punto de velocidad X es igual a cero. Cuando solo diríamos que la velocidad es cero. Bien, así que intentemos eso de nuevo con nuestra nueva velocidad. ¿Bien? Eso me gusta, pero podría ser un poco demasiado rápido para lo que voy a buscar. Entonces voy a seguir adelante y cambiar eso a lo mejor intento tres. Y creo que actualizado, pero solo para estar seguro, lo reiniciaré. Sí, creo que eso va a ser bueno para mi velocidad. Entonces, si quieres ir más despacio, puedes. Si quieres ir más rápido, eso depende de ti. Estoy tratando de tener en cuenta que la pelota se va a acelerar en los porches, igual que lo hace con Pong Bien. Genial. Entonces tengo mi reproductor configurado, y si dejo de presionar botones, simplemente dejaremos de movernos juntos. Entonces ahí está mi jugador. Y a continuación, podemos seguir adelante y crear nuestra bola y conseguir que la pelota desove en ella Y a lo mejor vamos a conseguir que el rebote entre aquí también. A lo mejor haremos todo eso en un solo video para el balón. Derecha. Entonces los veré chicos en la siguiente cuando tengan su remo configurado, y comenzaremos a crear nuestra pelota para el juego. Y una vez que tengamos la pelota, pondremos nuestros ladrillos. 5. Modificación del jugador: Entonces podrías notar si vengo aquí. Ahí vamos. Mi remo sigue moviéndose más o menos igual, pero he hecho algunos cambios, y solo quiero mostrarte que por si acaso te confundes un poco al verlo más tarde. Entonces si voy a mi guión, mi velocidad está ahora en 200. Y lo que estoy haciendo diferente es que estoy haciendo velocidad por Delta, y eso es lo que debes hacer cuando tenemos objetos con movimiento aquí. Ahora, sólo tenemos que hacer esto con mover y colisionar. No tenemos que usar esto con mover y deslizar porque mover y deslizar, a mi entender es realmente calcular esto dentro de sí mismo, ¿verdad? Pero si estamos usando Moving Cloud como lo estamos haciendo en este proyecto, necesitamos multiplicar nuestros tiempos de velocidad Delta nosotros mismos. Todo bien. Así que solo quería emparejar eso muy rápido antes de seguir adelante y ver esto confundirse. Y entonces tal vez voy a recibir un montón de preguntas al respecto por no mencionarlo. 6. Crear el balón: Sigue adelante y crea nuestra pelota para nuestro juego ahora, ¿verdad? Entonces voy a entrar en mi principal aquí, hit plus, y voy a usar un cuerpo de personaje dos D. Voy a seguir adelante y cambiarle el nombre a ser pelota. Por supuesto, va a necesitar una forma de colisión, ¿verdad? Eso tiene sentido, y va a necesitar un sprite para que podamos verlo. Al igual que nuestro jugador, Bien, entonces nuestra textura, ya sabes a dónde vamos con esto en este punto, rocía dos D, inspector, textura, nuevo gradiente, dos D, abre el degradado, selecciona el negro, cámbialo a blanco Ahí vamos. Eso obviamente es demasiado grande. Así que vamos a encogerlo. Se. ¿Qué tan grande queremos ir por el gol? Trae todo eso por aquí. No ejecutemos el juego aquí muy rápido. Echa un vistazo. Um, creo que está bien. Probablemente no quiera ir más grande que eso. Aunque. Quieres ir más pequeño, sin duda podríamos. Entra uno más a cada lado y ve algo así. Y voy a tener que resetear la transformación de esto. Entonces con mi inspector de pelota, transforma la posición. Voy a hacer clic en el botón de reinicio solo para poder volver a ponerlo aquí en la esquina donde debería estar. Colisión. Voy a darle un nuevo color, ir con un verde, forma, un rectángulo y encoger a ese chico malo en. Y ahora tenemos una pelota. Ahora, voy a tomar esa pelota y voy a reposicionarla aquí. Todo el camino hasta aquí abajo. Porque la pelota no genera en el jugador, sino justo por encima del jugador, y luego se lanza fuera. Entonces la forma en que lo voy a hacer, antes de ahora, creo que lo dejaremos así. Esto para el momento actual. Y veamos. Voy a seguir adelante y añadir un guión a mi bola, revisar mi camino, romper bola, cuerpo del personaje, dos D, GD, guión, derecha, crear Y lo que vamos a necesitar es una dirección inicial en la que está corriendo en que va en. Entonces podemos seguir adelante y entrar en nuestro proceso de física porque somos un cuerpo de física, y nos estamos moviendo. Podemos hacer movernos y colisionar. Aunque creo que sólo voy a usar MoVen ide, tal vez con este Necesitamos nuestro punto de velocidad X. Si. Y nuestra velocidad Y. Tenemos que establecer ambos, y voy a Oh, no necesitamos una constante. Voy a seguir adelante y crear una variable llamada velocidad. Esto no va a ser una constante porque recuerda que nuestra velocidad no necesita cambiar con el tiempo ya que está rebotando Y voy a poner esto igual a 30 inicialmente, y vamos a echarle un vistazo. Entonces, por el momento, sigamos adelante y solo pongámoslo una solo una velocidad por ahora. Y haremos lo mismo con Y, solo que lo haremos negativo, obviamente, para que suba por ahora. Y solo quiero ver la velocidad a que va a ir. Entonces hay 30. Esa parece una velocidad de arranque perfectamente fina para nosotros. Creo que vamos a hacer algo similar a lo que hicimos con Pong, y veremos cómo funciona eso, hasta dónde podemos llegar con eso antes de que tengamos que hacer cambios potenciales. Entonces voy a tener una dirección H y una dirección V, que podamos pasar esas por las nuestras aquí, y comenzaré nuestra vertical con una menos una. Y aquí es donde entran nuestros cambios, ¿verdad? Entonces, en base a si chocamos contra un piso, chocamos contra un techo, y así sucesivamente. Entonces sigamos adelante y digamos si está en Whoops. Sellado en dirección B veces es igual a uno negativo, así que eso va a voltearlo. Pero no queremos simplemente hacerlo en techo. Queremos hacerlo si golpeamos el piso también, porque el piso va a ser cuando llegue a nuestro patrón. O es Whoops, está en piso. Ahora bien, esto podría funcionar. Esto podría no funcionar. Vamos a tener que echar un vistazo y ver cómo funciona esto porque hemos trabajado con Pong. Sabemos cómo hacer estos rebotes, así que vamos a echarle un vistazo. ¿Verdad? Todo bien. Entonces vamos con LF. Vamos a trabajar con lo que sabemos que está en Wall. Los tiempos de dirección H son iguales a uno negativo. Bien, así que vamos a jugar a eso y echemos un vistazo y veamos cómo va eso. Entonces va la pelota. Debería rebotar aquí. Lo hace. Debería rebotar en la parte superior. Lo hace. Está bajando. Podría golpearnos. Podría chocar contra la pared. Ya veremos. Nos va a pegar. Bien, entonces parece que tenemos nuestro rebote. Parece igual que Pong. Esto está funcionando perfectamente, al menos por el momento. Por lo que a nosotros nos concierne, tenemos nuestro rebote codificado. Tenemos a nuestro jugador configurado. Ahora la diferencia es que sí queremos acelerar esto. Y vamos a acelerar esto, no importa en qué rebote, ¿verdad Entonces vamos a seguir adelante y decir, vamos a seguir adelante y hacer velocidad más equivale a cinco. Eso lo haremos si también chocamos contra una pared. Entonces deberíamos estar viendo esto acelerándose cada vez que rebota, como lo hicimos con Pong Así que solo seamos pacientes y echemos un vistazo. Hay un rebote, dos rebotes, estamos en más diez. Vamos a golpear por aquí en alguna parte. Boom, 15, 20, así que deberíamos estar a una velocidad de 50, 55, 60, y lo reboté abajo, así que ahora está fuera de límites Eso habría perdido la bola amarga. Pero sí queremos asegurarnos de que tenemos una velocidad máxima establecida. Ahora bien, cuál es este máximo, no lo sé. Tendríamos que probarlo. Sí vimos ahí que llegamos hasta alrededor de 55. No estuvo tan mal. Entonces tal vez podamos hacer una velocidad máxima de tal vez 100. Ahora bien, ¿cómo mantenemos esto en línea? Bueno, tendríamos que fijar nuestra velocidad. Es igual a, y queremos conseguir el mínimo. Entonces vamos a decir min entre lo que esto hace es que nos va a devolver el valor mínimo de los argumentos que pasamos. Entonces, si decimos velocidad más cinco, velocidad máxima, nos va a dar o bien velocidad más cinco o nos bien velocidad más cinco va a dar velocidad máxima, cualquiera que sea el número menor, y eso es lo que la velocidad va a igualar Entonces, al hacer esto, la velocidad aumentará continuamente, pero nunca superará la velocidad máxima aquí. ¿Verdad? Y podemos hacerlo abajo. El siguiente. Ahí vamos. Y yo sólo voy a seguir adelante y guardar eso visto. Y por ahora, como dije, parece que todo está funcionando perfectamente bien para nosotros. Sin embargo, sí queremos establecer el engendro de la pelota, cuando empezamos porque normalmente hay una pequeña pausa cuando esto sucede, y luego se genera por encima del jugador, así que sigamos adelante y pongamos eso en muy rápido Eso va a estar dentro de nuestra función lista aquí para el balón. Y lo que voy a hacer Ah, sí. ¿Sabes qué? Eso está bien. Bien, así que vamos con vamos a usar algo que se llama esperar Y creo que lo mencioné durante Pong, cuando teníamos el juego sobre la sección o la pantalla de ganar juego, quisieras llamarlo, esperar, obtener árbol de subrayado, crear temporizador Podemos pasar en un número tres y punto de tiempo de espera. Y luego con esto después la cantidad predefinida de tiempo aquí, entonces entonces hacemos lo que sea después de eso, que en nuestro caso va a estar generando la posición Bien, así que sigamos adelante y ya podemos hacer Vamos a ver. Entonces, en lugar de tener un predefinido de 3 segundos aquí, sigamos adelante y hagamos un Rd ¿ es rango de Randi o Rand Creo que es randi. Quién, no es del todo no entra ahí. Será por ciento tres más uno. Ahora bien, esto es exclusivo, y eso quiere decir que esto nos va a dar un entero aleatorio hasta el número tres. No obstante, como esto es código, esto nos va a dar 01 y dos. Y obviamente, el cero no va a ser aceptable aquí porque necesitamos algún tipo de bono. Entonces estoy haciendo más uno. Entonces, sea cual sea el número que consigamos, vamos a agregarle uno. Entonces, si llegamos a cero, haremos más uno. Así que eso da nuestro número mínimo para ser un uno Y entonces si realmente conseguimos uno, eso se convertiría en un dos. Si conseguimos un dos, eso se convertiría en un tres. Entonces ahora estamos recibiendo 1-3, esto. Todo bien. Así que vamos a esperar una cantidad de tiempo aleatoria. Y luego estableceremos nuestra posición para estar donde esté el jugador en el momento actual. Entonces diremos que la posición global es igual a la posición del jugador, a la que no tenemos referencia. Voy a seguir adelante y hacer eso aquí. Voy a hacer una exportación para esto nuestro jugador como un cuerpo de personaje dos D que pueda establecer y nuestra posición se fijará en jugador Posición global. Sólo vamos a cambiar Y porque queremos que esté por encima del jugador. Entonces tenemos que ir a la posición global, punto Y menos igual. Digamos cinco. Ya veremos cómo va eso. Pero recuerda que tengo que ir a mi guión de pelota aquí y establecer la variable de jugador, presionar el botón asignado, seleccionar nuestro jugador real. Y ya veremos cómo funciona eso. Inicialmente, vamos a poner la velocidad a cero porque no queremos que la pelota se mueva todavía. De hecho voy a entrar en la jerarquía de escena y hacer clic en el pequeño globo ocular para ocultarlo. Entonces, si tuviéramos que echar un vistazo y le hago clic, la pelota desaparece, de vuelta en el guión de la pelota después de que hayamos establecido la posición, ¿verdad? Así que hemos esperado. Lo establecemos igual a la posición del jugador. Levantamos la pelota por encima del jugador. Entonces en realidad vamos a establecer la visibilidad del balón, así que sólo vamos a decir visible. Igual a verdad para demostrarlo. Y entonces vamos a establecer la velocidad igual a 30. E incluso podemos establecer esto con una const, solo para que las cosas sean más claras A esto le llamaremos velocidad de arranque. Ahora solo podemos decir que la velocidad es igual a la velocidad inicial. Bien, así que si jugamos esto, veremos la pelota. Ahí vamos. Simplemente engendró sobre nosotros y se lavaba. Y si volvemos a hacerlo, podemos verlo. Ahí va. Bien, entonces tenemos nuestro desove de bolas. Se genera apenas sobre el jugador. Creo que en realidad quiero establecer esto en diez en lugar de cinco porque ese cinco se veía un poco cerca. Ese podría haber sido solo yo con nosotros moviéndonos por ahí. Pero voy a cambiar eso a diez, bien, tenemos nuestra pelota funcionando. Está rebotando por ahí. Ahora, una vez que entreguemos algunos ladrillos ahí, veremos si nuestros rebotes siguen siendo buenos o si necesitamos retocar Así como, supongo, empezar a trabajar en destruir los ladrillos, hacer nuestro puntaje, contar las bolas cuando las perdemos o nuestras vidas. Supongo, en ese punto, vamos a estar bastante bien hechos, aparte de cualquier cosa el que queramos retocar Bien, así que tenemos lo básico de nuestro trabajo de pelota. Y a continuación, echaremos un vistazo a nuestros ladrillos. 7. Crear los ladrillos: Bien, entonces vamos a seguir adelante y crear los ladrillos para nosotros para nuestro juego aquí, y los ladrillos van a ser aproximadamente del mismo tamaño que el jugador. Entonces lo que voy a hacer es copiar eso. Voy a ir a mi anuncio principal, y podríamos hacer un cuerpo estático. Sí, porque no los necesitamos para nada para moverse. Y voy a llamar a este ladrillo amarillo. Ese ladrillo amarillo va a necesitar una forma de colisión y un sprite Entonces lo que voy a hacer para engañar a este poquito es que voy a ir a mi jugador. Voy a hacer clic en el Sprite dos D, mantener presionado Mayús, dar clic en forma de colisión, hacer Control C. Ir a mi ladrillo amarillo, golpear Control V para tipo de agregar esos en Ahora, recuerda lo que dije antes. Vamos a entrar y vamos a hacerlos únicos. Y hacer recursivo único. Que podamos hacer el gradiente también. Forma de colisión, agarra eso, haz único y para el color. Claro, vamos con un amarillo por ahora. Pero ahora tenemos un ladrillo amarillo y podemos tomar ese ladrillo y podemos ponerlo en cualquier parte de nuestro juego. Por ejemplo, podría poner uno aquí mismo y solo alinear eso. Ahora solo puedo hacer Control D, Spide la siguiente salida. Entonces creo que voy a poner ese poco espacio entre ellos. Control D, directo siguiente salida. Y sólo voy a tratar de mantener esto lo más consistente que pueda. Y voy a seguir adelante y tirar esto todo el camino a través. Muy rápido. Bien, así que he seguido adelante, y tengo todos estos ladrillos amarillos todos puestos aquí, y hay muchos de ellos. Y tengo dos filas. No veo por la parte superior de mi cabeza. No puedo recordar si tenían dos o tres filas en el juego, pero por ahora, tengo dos filas. Y hay muchos que colapsar aquí. Simplemente los derrumbé a todos. Desafortunadamente, yo no No, eso es sólo para la única rama. Bueno, eso es desgraciadamente. A lo mejor hay una tecla de método abreviado que me falta en alguna parte. Pero por ahora, eso no es importante. Se puede ver que tenemos todos estos ladrillos aquí todos puestos. Y quiero mostrarles cómo vamos a determinar qué es lo que estamos pegando. Porque todo lo que tenemos que hacer es crear de nuevo esta misma configuración, hacerlo para los bloques naranjas, rojos y los bloques verdes. Pero para mostrarte cómo funciona esto, voy a entrar en mi bola, entrar en mi guión de pelota, y dentro de un proceso de física, vamos a hacer una declaración if aquí. Así que básicamente vamos a decir, si estamos colisionando con algo, entonces vamos a imprimir el nombre de la cosa con la que chocamos, Entonces si Yet, es un conteo de colisiones de planeo. Entonces, si esto es cualquier cosa menos cero, esto nos va a volver fiel, y esto básicamente va a ser básicamente solo decir, si estamos colisionando con algo, y si lo estamos, entonces vamos a imprimir Y lo que vamos a imprimir es colisión deslizante deslizante. Y vamos a pasar en un índice de cero porque queremos obtener el primer ítem con el que estamos colisionando, que en realidad, solo deberíamos estar colisionando con un objeto a la vez Entonces si seguimos adelante e imprimimos no imprimimos, sino jugamos esto deberíamos echar un vistazo, deberíamos ver abajo en nuestra salida el ladrillo amarillo que se está imprimiendo. Sí, esos son todos nuestros Hay mi confusión ahí dentro en la impresión. Estamos imprimiendo la colisión del primer lado, pero lo que tenemos que hacer es conseguir el colisionador, así que consigue lo real con lo que estamos colisionando Y luego imprimiremos nombre. Así que consigue colisión deslizante, pasa en un cero, consigue colisionador, nombre de punto Y si hacemos eso, deberíamos ver el nombre de nuestros ladrillos se imprimen ya que golpea objetos aquí abajo en el inspector. Ir ladrillo amarillo 12. Jugador, pared dos, ladrillo amarillo 16, jugador, pared, ladrillo amarillo tres, jugador. Ladrillo amarillo 20, pared, jugador. Ladrillo amarillo ocho, Muro, jugador. Ladrillo amarillo 11, así que tienes la idea aquí. Derecha. Así es como vamos a seguir adelante y preparar las cosas para realmente destruir nuestros ladrillos y determinar nuestros puntos en eso. Y bueno, solo en general, así es como vamos a determinar si estamos golpeando un ladrillo para empezar. Pero bien, entonces voy a seguir adelante y tomar mis ladrillos, convertirlos en o configurar los otros colores para mis ladrillos, y enseguida vuelvo. No hay necesidad de mostrarte realmente cómo hacer eso. Ya te mostré cómo hacer un ladrillo y simplemente copiarlo, deslizándolo hasta que hice dos capas. Voy a hacer lo mismo, pero con diferentes colores. Y con esos colores también, puedo entrar en mi degradado aquí y simplemente cambiar estos dos colores para que podamos tener el juego final de color. Esto va a ser un amarillo que. Voy a copiar mi código ahí abajo. Selecciona el otro blanco, pégalo en. Y si lo juego, verás que ahora tenemos uno Oh, no, los tenemos todos. Así es porque los copiamos. Así que ahora tenemos todos mis ladrillos amarillos. Entonces ahora solo puedo seguir adelante y crear mis ladrillos naranjas ahora. Bien. Así que sólo dame 1 segundo, y voy a seguir adelante y crear eso. Puedes seguir adelante y, por supuesto, hacer una pausa y crear y configurar todos tus ladrillos. Bien, he pasado por y he creado todos mis ladrillos, y revisé dos veces con el video. Sólo hay dos capas de amarillo, verde, naranja, rojo. Entonces, con nuestros ladrillos, ¿ qué necesitamos para nuestros ladrillos? Necesitamos la destrucción real de ellos cuando son golpeados. Entonces, si saltamos a nuestro código, deberíamos poder detectarlo fácilmente. Entonces en lugar de imprimir aquí, voy a seguir adelante y crear una variable de ops una variable llamada object name. Esta gran cuerda. Eso va a ser igual a lo que estábamos imprimiendo. Así que consigue la colisión deslizante cero. Obtener el nombre del punto del colisionador. Y luego a partir de aquí, podemos seguir adelante y comprobar si Guau. Si ladrillo en nombre de objeto, que obviamente debería ser, al menos con la forma en que se configura mi denominación, ¿verdad Ladrillo amarillo, ladrillo verde, ladrillo naranja, ladrillo rojo. Perdón por eso. Y si brick está en el nombre y el nombre del objeto Entonces vamos a necesitar conseguir ese objeto y darle una señal libre. Y para hacer eso, en realidad deberíamos estar almacenando el colisionador, también Entonces también con el nombre, también van a conseguir un colisionador var Ahora con esto, voy a estrecharlo lo mejor que pueda, porque no puedo simplemente llamarlo un cuerpo estático como son los ladrillos porque no siempre van a ser ladrillos, ¿verdad? Podría ser la pared. La pared es también un cuerpo estático, un cuerpo estático. Bien, entonces parece que usamos cuerpo estático. Pero recuerda, nuestro jugador es un cuerpo de personaje. Por lo que tenemos que tomarlo en consideración. Entonces, la forma más baja que podemos seguir aquí es simplemente clasificarla como un cuerpo físico dos D. Y eso es, por supuesto, va a ser igual a t slide collision zero dot Yet collider. El colisionador va a ser nuestro objeto. El nombre del objeto va a ser el nombre de la cosa. Si el ladrillo está en el nombre, entonces vamos a tomar ese colisionador y liberar Todo bien. Veamos cómo funciona eso si nuestros ladrillos empiezan a destruirse. Vamos, poco amarillo van. Yo lo hice. Nuestro ladrillo amarillo quedó destruido, y veamos. Todos estos ladrillos deberían funcionar también. Ya que el amarillo funciona, ya que todos estamos trabajando con la misma lógica, no sé por qué me moví hacia la izquierda. Eso arruinó por completo todo eso. Vamos a tener que conseguir la reaparición aquí en algún momento, así no tenemos que seguir reiniciando el juego cada vez que nos perdimos la pelota para Un boom. Él va. Sí, señor. Casi tenemos una buena cantidad de esa primera capa, y la reboté por un lado, pero creo que probablemente podamos asumir con seguridad que todos los ladrillos están funcionando fuera de esto ya que, nuevo, todos están trabajando en lo mismo Ellos de ladrillo en su nombre. Sabemos que podemos confirmarlo. Fantástico. Bien. Entonces ahora tenemos todos nuestros ladrillos, nuestro rojo, naranja, verde y amarillo. Todos están establecidos. Podemos destruirlos. El balón rebota en ellos, perfectamente bien. Detecciones adecuadas Entonces a continuación continuaremos y echaremos un vistazo a actualizar nuestros puntos para la siguiente sección, lo que significa que vamos a estar obteniendo puntos por cada ladrillo que destruimos. 8. El sistema de puntuación: Bueno, para que empecemos a hacer un seguimiento de cosas como la puntuación, en realidad necesitamos tener una puntuación para hacer un seguimiento. Así que vamos a llegar hasta nuestro Guy aquí y agregarle un pequeño guión agradable . Vamos a crear uno. Crearemos una variable llamada score. Habrá un int, por supuesto, cero. Aquí vamos. Y en la función ready, vamos a configurar algunas cosas, como la partitura como buen ejemplo. Pero también quiero seguir adelante y dentro de mi Due, tener la etiqueta de puntaje y la etiqueta de bola actual también establecida. Entonces los voy a usar con las exportaciones. Así exportar Vaya, no almacenamiento, exportación, etiqueta de arco. Eso es una etiqueta. Y lo mismo. etiqueta de bola actual de Export VR tiene, por supuesto, una etiqueta. Ahora puedo seleccionar aquellos en la GUI. Inspector, haga clic en asignar. La etiqueta de puntuación será la etiqueta de puntuación. El balón actual será el balón actual. Bien. Ahora estoy listo, ya podemos establecer. Score label dot text es igual a GORE necesitamos que lo pad y convertirlo en una cadena, así STR al principio, abrir paréntesis Poner puntaje dentro, cerrar los paréntesis y hacer ceros pad, y vamos a ponerla con tres porque definitivamente podemos subir a tres dígitos con este juego. Bastante fácil. Y vamos a necesitar otra variable aquí para la bola actual bola actual y comenzar en una como lo hace en el juego. Y nos aseguraremos de establecer eso para nuestra etiqueta de bola actual. Así que el texto de punto de etiqueta de bola actual equivale a una cadena de bola actual. Ahora cuando lo ejecutes, no va a verse diferente a lo que hacía antes. Y, claro, todavía no estamos consiguiendo ningún punto, pero como dijiste al menos ven que no se rompa nada, lo cual es genial. A ver. Entonces, ¿qué necesitamos ahora? Necesitamos actualizar realmente nuestra puntuación. Y cuando hacemos eso, necesitamos actualizar el texto aquí. Todo bien. Entonces vayamos a nuestro guión de pelota. Y cuando golpeamos un ladrillo, antes de chocar con él o antes de liberarnos, necesitamos verificar o al menos vamos a marcar amarillo en nombre de objeto, hacer esto, y simplemente continuaremos esto abajo unas cuantas veces y podemos cambiar esto en realidad, solo necesitamos uno si porque solo uno de estos debería poder disparar. Eso lo conseguí al revés. Empecé la primera vez. Elsif Eso es lo que estaba poniendo. Y todo lo que vamos a comprobar es amarillo, verde, naranja y rojo. Y todo lo que vamos a hacer aquí es actualizar el puntaje. Y para hacer eso, creo que podemos o agarrar la GUI o podemos crear una señal para enviarla hasta ella. Ahora bien, como no creo que hayamos aprendido un montón de conceptos nuevos aquí, voy a mostrarte cómo crear tu propia señal, igual que si miras al inspector y la pestaña de nodo y tienes estas señales, te voy a mostrar cómo podemos crear nuestra propia señal. Así que al igual que las variables, solo tienes que escribir la palabra señal, correcto, porque queremos crear una señal, igual que escribes en VR cuando quieres crear una variable, y luego pones un nombre de señal. Entonces esta señal va a ser aumento de puntaje. Y voy a tener que pasar en un num como una pulgada así. Entonces la señal es aumentar la puntuación. Se pasa en un argumento y ese argumento es un entero. Ahora bien, si tuviéramos que echarle un vistazo a eso dentro del inspector, haga clic en Bola, haga clic en la pestaña No y en realidad podemos ver nuestra señal personalizada aquí todo configurado. Ahora, podemos hacer doble clic en eso y conectarlo a la GUI, y creo que eso es lo que voy a hacer aquí. Haga doble clic, GI, Asegúrese de que esté conectado. Lo siento, haz clic, presiona Conectar. Ahora aquí en GI podremos actualizar nuestra puntuación. Para ello, podemos hacer SCOR más igual a NUM Genial. Y al igual que hicimos en el listo, solo podemos actualizar el texto de la etiqueta de partitura y, por supuesto, apretarlo. Todo bien. Ahora bien, esto no va a funcionar todavía porque tenemos que volver a nuestro balón porque nunca estamos enviando esta señal en ningún momento. Entonces, tenemos que pensar ¿a dónde tenemos que enviar esto? Bueno, tenemos que enviarlo aquí y aquí y aquí y aquí, ¿verdad? En cualquier momento conseguimos que estos ladrillos pasaran en la partitura. Entonces vamos a aumentar score dot emit, luego llegamos a pasar en nuestra discusión con el ladrillo amarillo, fue un punto. Con el ladrillo verde, yo estaba tres puntos con el ladrillo naranja. Vaya, ahora copié lo incorrecto. Con el ladrillo naranja, eran cinco puntos, y con el ladrillo rojo, eran siete puntos. Entonces, si hacemos esto ahora y golpeamos play, ahora deberíamos ver nuestro puntaje justo aquí arriba, actualizando cada vez que rompemos un ladrillo. Así que vamos. Deberíamos conseguir un punto aquí de los ladrillos amarillos. Ahí vamos. Entonces ahora estamos obteniendo puntos. Esa pelota se movía tan lento que el ojo perdió a una velocidad vergonzosamente lenta ya vagamente se desplazaba Entonces un punto, boom, rebotarlo. Conseguiremos un punto más. Rebote, rebote. Y te das cuenta que solo estamos obteniendo estos puntos cuando golpeamos los ladrillos tal como deberíamos. Entonces eso es genial. Boom, boom. Ya que el remo era un poco más largo. Bien. Entonces conseguimos que nuestros puntos funcionaran. Estamos enviando nuestra señal está funcionando, enviando los números correctos. Podemos asumir fácilmente que estos números van a funcionar perfectamente bien, también. Y ¿tenemos que hacer algo más en la sección de puntos? Yo no lo creo. No, a continuación, sigamos adelante y configuraremos nuestro conteo de bolas y reapareceremos para nosotros 9. Corrección de errores después de la puntuación: Bien, así que estaba jugando por aquí, solo asegurarme de que las cosas estén funcionando y todo eso bien, y de hecho nos topamos con un problema aquí No estoy 100% seguro de lo que pasó, pero creo que la pelota golpeó dos ladrillos ya sea al mismo tiempo o muy, muy cerca uno del otro. Suficiente para que entremos si declaración, pero no lo suficiente para que Clider realmente iguale darnos nada. Entonces, lo que vamos a hacer es primero limpiar el nombre del objeto aquí. Simplemente configuramos esto para el nombre del punto colisionador. Lo que en realidad voy a poner en otro cheque aquí y decir, me colisiono. Entonces esto debería darnos un cheque para asegurarnos que colisionador es en realidad algo y no es nulo Y eso significa que voy a agarrar todo de la línea 25 aquí. Abajo al colisionador punto cuarto, y solo voy a golpear pestaña con todo resaltado, y eso debería evitar que ese tema suceda Viendo como era el tema, nos metimos en esta declaración de If , de alguna manera, podemos poner otro check in aquí también si queremos. Podemos decir mayor que cero, aunque no deberíamos entrar si no lo es ya. Y luego conseguimos el colisionador, y si de alguna manera el colisionador es nulo, entonces sólo vamos a parar fuera de ahí No vamos a continuar. Bien, así que solo quería tirar eso ahí solo por si acaso ustedes encontraron con eso también mientras jugaban, igual que yo Y, bien, entonces a continuación, vamos a seguir adelante y vamos a saltar a configurar la reaparición de la pelota 10. El recuento de bolas: Sigamos adelante y hagamos que nuestra respuesta suceda aquí. Entonces la esencia de lo que necesitamos aquí es cuando la pelota se sale de la pantalla, entonces tenemos que hacer lo que hacemos cuando listos y responderle aquí arriba con su velocidad predeterminada y dirección predeterminada de subir y todo. Entonces, en realidad hay un nodo que podemos usar para esto. Ahora bien, si vamos a nuestro baile, sólo voy a encenderlo para que podamos verlo aquí. Ahora bien, esta línea azul aquí es la parte inferior de nuestra pantalla, que ya deberías conocer. Y en esta bola, voy a seguir adelante y agregar un nodo especial llamado visible en pantalla Notificador Ahora bien, lo que esto va a hacer es que esto nos ha dado un pequeño espacio de caja aquí, y esa es la zona que va a estar revisando. Y una vez que este cuadro ya no esté en la pantalla, entonces es capaz de enviarnos una señal lo que va a estar aquí arriba, la pantalla entró o la pantalla salió, en nuestro caso, señal de salida, y eso nos permitirá reiniciar nuestra pelota Bien, así que voy a hacer doble clic en la señal de salida de la pantalla de nuestro notificador visible en pantalla Voy a desplazarme hacia abajo hasta mi bola, seleccionarla y conectar mi guión. Y lo que vamos a hacer aquí es exactamente lo que ya esperarías. Vamos a sacar todo de nuestro listo, desplazarnos hacia abajo, y podemos pegarlo todo ahí dentro. Pero sí tenemos que hacer algo más que esto porque la velocidad en estos momentos, esa pelota sigue yendo recto hacia abajo. Entonces antes de esperar, vamos a seguir adelante y poner esa velocidad a cero, así que la pelota simplemente se detiene donde está. Porque no importa cuál sea nuestra velocidad, se está poniendo a cero, ¿verdad? Porque cualquier cosa es cero, entonces esperamos esa cantidad aleatoria de tiempo, hasta 3 segundos. Reiniciamos la posición, establecemos la visibilidad en true. Pero la cosa es que nunca lo pusimos en fals, así que tenemos que hacerlo, también Tenemos que hacer visibles iguales falsos. Y si hay algo más que necesitamos resetear, sí, porque recuerden que estamos bajando, lo que significa que nuestra dirección V debe estar en negativo uno en este punto. Entonces, antes de establecer la velocidad, podemos seguir adelante y hacer tiempos de dirección V es igual a uno negativo para voltearlo de nuevo a subir y nuestra velocidad se restablece a la velocidad inicial. Eso debería ser todo lo que tenemos que hacer ni para que esta respuesta funcione. Todo bien. Entonces ahí está nuestra pelota. Se va. Va a desaparecer, y va a responder por nosotros. Boop, ahí vamos. Aunque nuestro reaparecer está funcionando bien. Solo tenemos que hacer un seguimiento del conteo de bolas ahora. Boop. Ahí va otra vez. Bien, entonces tenemos que actualizar esa etiqueta de conteo de bolas. Y con eso, probablemente puedas adivinarlo. Vamos a seguir adelante y crear nuestra propia señal para esto desde nuestro balón. La señal aumenta el conteo de bolas. Y igual que antes, vamos a tener un num ahí dentro, y va a ser un int o vamos a lanzarlo como. Y igual que antes, selecciona nuestra pelota, ve a la pestaña Dno con nuestras señales Doble clic aumenta el conteo de bolas, conéctelo a nuestra Gui. Y al igual que antes, vamos a hacer o simplemente como te imaginas más bien, bola actual más SQLs Num, que, en teoría, siempre debería ser uno Y creo que en realidad puedo configurarlo como predeterminado doblemente pero aquí está la etiqueta para que actualicemos eso también texto de punto de etiqueta de bola actual equivale a una cadena de bola actual. Acabo de verificar dos veces, y no podemos pasar un valor predeterminado a ahí, así que eso es un poco desafortunado. Pero si solo nos movemos hacia abajo, echa un vistazo para cuando salgamos de la pantalla aquí, podemos seguir adelante y mandar esta señal. Entonces diremos aumentar el conteo de bolas punto Emitir y pasar en uno para aumentar el conteo de bolas en uno. Todo bien. Entonces ahora cuando nuestra pelota se sale de la pantalla, tienes que restablecerla para que esté apagada por defecto. Yo voy a hacer eso. No apagado, pero no visible. Haga clic en el globo ocular, presione play. Esa bola va a engendrar. Va. Va a golpear un ladrillo. Vamos a conseguir un punto. Se va a actualizar. Fantástico. A medida que va la pelota, rebota en algunas cosas, acelera lentamente Obtenemos más puntos a medida que sigue adelante. Se va a salir de la pantalla, aumentar el conteo de bolas 1-2, responder. La velocidad es todo restablecido. Muy bien, así que lo único que tenemos que echar un vistazo ahora es configurar las condiciones supongo que tanto de victoria como de derrota para este juego. Lo cual no debería ser demasiado difícil. Porque por nuestra condición de pérdida, prácticamente solo tenemos que comprobar si estamos en la bola cuatro, que debería ser nuestra última pelota en esta situación porque solo tenemos tres bolas. Entonces cuando baja, pegamos a cuatro. Ese sería nuestro juego terminado. Y ese juego terminado sería un reinicio de toda la escena. Bien, entonces tenemos nuestras señales en marcha. Tenemos nuestro reinicio de bola en marcha, y tenemos nuestro contador de bolas en marcha. Bien. A continuación, echaremos un vistazo al aspecto de victorias y pérdidas. 11. Juego final y victoria: Bien, así que lo primero que voy a configurar aquí va a ser el más fácil y rápido para que podamos probar aquí Y ese va a ser nuestro conteo de bolas. Una vez que eso equivale a cuatro, entonces vamos a reiniciar el juego. Entonces, la forma más fácil de hacerlo es que ya tenemos toda esta configuración para nuestra pelota es simplemente entrar en nuestro Guy. Bola actual más igual a num. Actualizamos el texto, todo lo que tenemos que hacer es verificar si la bola actual es igual a cuatro, y vamos a conseguir Tree dot, recargar G acaba de recargar la escena actual. Y podemos probarlo en dos segundos rápidos. Sólo deja volar la pelota. Me sentaré aquí en la esquina y solo acumularemos algunos de estos recuentos de bolas. Esa es una. Vamos a conseguir esa segunda bola. Fuera va. Abajo. Eso nos lleva a tres. Y una vez que perdamos esta pelota, debería ser un juego terminado una vez que baje por debajo, y toda la escena debería restablecerse. Entonces vemos esos ladrillos amarillos rellenar de nuevo. Oh, no lo hice. ¿Por qué es esto? A, sí, porque en realidad no podemos crear un temporizador porque el árbol se está reiniciando en este momento. Entonces tenemos que resolver este pequeño bicho. ¿Cómo podemos arreglar esto? Bueno, la forma más fácil de arreglar esto, muy probablemente, es simplemente cambiando nuestro orden de operación aquí. Y podríamos simplemente agarrar un conteo de bolas y moverlo hacia abajo uno. Y eso probablemente solucionará ese problema. Pero ¿tendremos algún problema con el resto de nuestro código aquí abajo? Vamos a probar y averiguarlo. Veamos qué pasa. A veces eso es todo lo que hay que mirar es ese orden en el que se está llamando a todo . A veces eso es todo. Es tan simple como eso, otras veces llegas a encontrar otras soluciones o realizar otras comprobaciones para ver si las cosas Aquí vamos. Corre nuestra tercera bola, y aquí es donde deberíamos atropellar nuestro juego. Entonces veamos si todavía nos encontramos un error o si eso está arreglado. Bien, está arreglado. Entonces en este caso, fue tan sencillo como solo actualizar el orden de operación que todo se llama. Todo bien. Entonces nuestro reset funciona. Ahora sólo tenemos que comprobar si nos queda algún ladrillo en la pantalla. Y si es así, obviamente, los juegos aún no han terminado, porque lo que vamos a estar buscando es que no queden ladrillos. Entonces, ¿cómo podemos verificarlo fácilmente la manera más sencilla posible? Bueno, la forma más sencilla sería tomar todos nuestros ladrillos aquí, todos en mi caso, 176 de ellos, y simplemente podemos meterlos bajo un nodo predeterminado para esto Entonces, si solo agarro esto y solo voy a agarrar a mi chico solo para poder poner mi nodo arriba aquí. Voy a agregar solo un nodo regular porque solo lo estoy usando para organizarlo. Voy a arrastrarlo fuera de mi chico a la principal. Y la razón por la que lo hice es porque si seleccionaba Min y creaba el nodo, se habría agregado hasta aquí abajo. Entonces eso hubiera sido molesto poder jalarlo todo el camino hacia arriba. Así que solo voy a mover el nodo hacia abajo, luego voy a hacer clic en mi primer ladrillo, desplazarme hasta abajo, mantener pulsada la tecla Mayús, clic en mi último ladrillo. Eso debería seleccionar todos mis ladrillos aquí. Sólo voy a arrastrarlo hacia arriba dentro de ese nodo. Voy a cambiar el nombre de este nodo para que se llame ladrillos. Y eso no debería tener ningún efecto en nuestra jugabilidad, pero voy a echar un vistazo. Apenas por casualidad algo de alguna manera se rompió. Echa un vistazo. Los ladrillos aún destruyen, la puntuación aún se actualiza. El balón aún se cuenta, sigue siendo respuesta. Fantástico. Entonces no hemos roto nada. Y la razón por la que hicimos esto es porque la forma más fácil es que sólo vamos a decir, Hey, ladrillos no. ¿Te quedan ladrillos? ¿Tienes hijos? ¿Verdad? ¿Todavía existe alguno de estos 176 ladrillos? Entonces cuando eso suceda, realidad podemos hacer eso en nuestro Podemos hacerlo en la pelota o podemos hacerlo en el Gooey Iba a decir que podríamos hacerlo ya sea cuando estamos emitiendo la señal para aumentar la puntuación o cuando sí aumentamos la escuela. Creo que lo haremos cuando realmente aumentemos el puntaje. ¿Verdad? Sí, así que aquí mismo, lo emitiremos o lo sentimos, actualizaremos nuestro puntaje, y luego realizaremos nuestra verificación aquí. Entonces para hacer eso, voy a seguir adelante y hacer una exportación de nuestros ladrillos. Yo lo llamaré contenedor de ladrillos, y esto es sólo un nodo. Y hago clic en mi Guy. Asegúrate de ir a la pestaña Inspector, presiona el botón asignado. Elegir ladrillos. Ahora cuando actualice mi puntaje, puedo decir que yo ladrillos contenedor, ¿tengo un tiene hijos? Probablemente no. Ahora. Así que consigue hijos o consigue el conteo de niños. ¿Eso también funcionaría? Y sólo por mi propia cordura, voy a seguir adelante e imprimirla Entonces, cuando destoe nuestro primer ladrillo, deberíamos tener 175 impresos para nosotros aquí abajo en la consola 176 ahora. Bien, entonces puede que o mis matemáticas estén de alguna manera apagadas o eso contara antes de que se destruyera el ladrillo. Derecha. Entonces eso no funcionaría para nosotros entonces porque el ladrillo ya ha sido destruido o lo siento, los ladrillos no destruidos en este punto. Entonces eso es una lástima. No va a poder hacerlo ahí. Aunque voy a borrar esa variable. Y eso significa que me dirijo a la pelota. Y bajaremos. Aquí es donde vamos a hacer cue free basado en el colisionador Y el colisionador, el padre debería ser nuestros ladrillos. Así que voy a seguir adelante y podemos almacenar eso. En realidad, solo almacenamos eso arriba, como lo hicimos normalmente, no hay razón para seguir agarrándolo cada vez que chocamos con Así que exportar contenedor de ladrillo var como solo un nodo, seleccionar nuestra bola, golpear una señal, seleccionar el contenedor de ladrillos. Y después de que llamemos a collider dot free, podemos seguir adelante y pegar en nuestra declaración I que estábamos usando antes ¿Qué le renombré? Dije contenedor de ladrillo lo decía ladrillos. Ahí vamos. Tiene que resetear eso ahora. Ahí vamos. Entonces ahora, es solo un error tipográfico por copiarlo. Entonces, si tiene hijos después de haber eliminado un ladrillo, entonces vamos a imprimirlo. Entonces nuestro primero se destruye aquí, deberíamos tener 175 para el número correcto. Eso es curioso, y eso me ha hecho querer volver a verificar las matemáticas ahora. Sí, tengo 22, 22, 44. Entonces es 44 por color. Entonces eso es 88 en la mitad inferior, 88 en la mitad superior, debería haber 176 en total. Debo estar un poco loco. Déjame comprobarlo justo cuando empiece el juego. Sí, 176. Entonces es contarlo antes de que se libere es el problema. Lo tengo. Entonces, si tienes curiosidad por qué sucede esto, esto es porque Q gratis aquí no lo está liberando No libera el nodo, ¿verdad? No es deshacerse del ladrillo. Ese segundo lo está borrando al final del fotograma. Aunque como todavía estamos recibiendo esta información, nuestro marco no se ha completado. Aún estamos recibiendo la información incorrecta. Entonces, lo que tenemos que hacer aquí es que necesitamos usar esa palabra clave despierta y podemos obtener nuestro árbol. Solo que en lugar de crear un temporizador, en realidad vamos a mirar no, no inactivo que fue renombrado frame de proceso Supongo, en nuestro caso, podríamos simplemente buscar creo que tienen una física, ¿verdad? Sí, un marco de física. Entonces eso esperará hasta el siguiente fotograma donde se llame a esto . Y luego obtendremos el número. Entonces esto ahora debería darnos el número correcto de 175 cuando ese ladrillo sea destruido, y si es así, entonces excelente. Ahí vamos. 175. Entonces ahora tenemos nuestros ladrillos siendo contados correctamente. Hombre, fantástico. Mira eso. Mira ese ladrillo, ve. Vamos, bolita, vamos. Estás subiendo algo de buena velocidad. Sí, mira que te vas. Tengo que parar antes de meterme en esto, y simplemente me siento aquí jugando un rato. Perdimos la pelota. Pero puedes ver que esto definitivamente puede ser divertido una vez que te metes en ello. Todo bien. Así que tenlo en mente, sí tenemos que esperar al siguiente fotograma y luego obtener el conteo. Entonces ahora que tenemos el conteo, necesitamos verificar lo que específicamente necesitamos saber si queda cero. Entonces, si la cuenta es igual a cero, Go. Entonces aquí es donde necesitamos un juego terminado. Bien. Entonces podemos hacer queremos hacer querer esperar unos segundos, o simplemente queremos recargarlo Sólo vamos por la recarga. Árbol recarga escena actual. Y así no tenemos que sentarnos aquí todo el día solo para probar esto. Voy a seguir adelante y vamos quitar la mayoría de estos sólo para esta prueba. No te preocupes. Ya lo he hecho, pero puedo darle a Control Z y devolverlos a todos. Como pueden ver, solo estoy haciendo esto temporalmente y solo danos dos ladrillos amarillos. Entonces, si almacenamos ambos, deberíamos conseguir un juego completamente nuevo con todo recargado Y si esta pelota pudiera acelerarse un poco, eso sería genial. Parece que borré el muro. Me preguntaba a dónde iba eso. Porque, claro, lo hice. Arrastré ese tolo, y tal vez podamos ir aún más fácil y darnos un ladrillo Porque vimos cuando todavía nos quedaba un ladrillo, obviamente, seguía contando. Seguíamos jugando. Entonces, si pudiéramos saltarnos esa bola de allá a ese ladrillo amarillo, eso sería genial. Creo que tiré eso en el lugar correcto, boom, y nuestro juego se reinició con nuestro pozo, nuevo juego teniendo solo el único ladrillo aquí. Pero sí, ahí vamos. Eso funciona. Y pienso lo que quiero aquí, voy a volver a poner estos ladrillos. Pero creo que lo que quiero personalmente antes recargar es que creo que quiero esperar un momento Entonces voy a decir voy a esperar Ge tree, crear Tr. Y creo que quiero tener una pausa de dos segundos aquí. O incluso una pausa de 1 segundo estaría bien, solo para que podamos ver que el ladrillo en realidad ha sido despejado. Y podrías ir aún más allá si quisieras ampliar todo esto, hay versiones modernas de este juego. Hay algunos que suman potenciadores, múltiples bolas, y así sucesivamente. Entonces, si quisieras, siempre podrías pasar por y agregar todo ese tipo de cosas. Es tan sencillo como las cosas que ya hicimos, detectar si golpeamos algo, lo golpeamos, si es así, haz esto. Hacer XYZ. Y me di cuenta de un pequeño bicho ahí abajo, así que solo voy a detener la velocidad de la pelota también. velocidad de la velocidad establecida es igual a cero, y eso debería estar bien para nosotros. Pero aunque no lo arreglara, no va a afectar nada en nuestro juego de aquí, pero es algo que probablemente deberíamos abordar y esforzarnos por no tener bichos profundos ahí abajo. Todo bien. Entonces tenemos nuestro puntaje funcionando. Ya terminamos nuestro juego. Debería estar trabajando. Sí, porque bajamos, golpeamos cuatro bolas y todo el juego se reinicia. Tuvimos el reinicio de la victoria para nosotros. Estamos haciendo un seguimiento de la puntuación. Sí, creo que eso es todo. Realmente no necesitamos agregar nada más. Tenemos el clásico juego recreado aquí, y si quieres agregar más de tus propias características, siempre podrías volver y agregarlo Ve con eso. Eso es breakout, el clásico juego de 1976.