Puede acceder al curso completo aquí: Unidad de Proyectos 2D – Rocket Defensor

Tabla de contenidos

Parte 1

Bienvenido a la serie retro de Zenva – Curso de Defensa Rocket. A lo largo de este curso, vamos a construir una base de defensa de juego, donde protegemos nuestras bases de la caída de los enemigos usando cohetes. En esta lección, vamos a presentar a nuestro nivel.

Configuración del Proyecto

Para empezar, vamos a abrir Hub Unidad y c rear un nuevo proyecto. Vamos a llamar a este proyecto Rocket Defender y utilizar la plantilla 2D. Para nuestra versión Unidad, vamos a utilizar la versión 2019.2.0a4.

pantalla de creación del Proyecto Hub Unidad

Una vez que la unidad se abre, puede que le resulte útil para cambiar el diseño de defecto a través del botón en la esquina superior derecha. De esta manera nuestras configuraciones de la pantalla será igual a la duración del curso.

menú Diseño Unidad con seleccionado por defecto

Después de esto, tenemos que recurrir a la carpeta Activos, haga clic derecho, y crear una nueva carpeta llamada Azulejos.

Unidad Crear menú con carpeta seleccionada

Vamos a arrastrar cada PNG a continuación a la nueva carpeta de azulejos en la Unidad.

Unidad de sprites azulejos

Pintura Tilemap

Ahora que tenemos nuestros azulejos, podemos empezar a configurar nuestra Tilemap. En el menú GameObject en la parte superior, tenemos que seleccionar objetos 2D y luego Tilemap. Esto agregará dos elementos de nuestra Jerarquía:. Una rejilla que mostrará una cuadrícula en la vista de la escena y de la propia Tilemap para pintar los azulejos

unidad ventana GameObject con objeto 2D> Tilemap selecciona» /> </ p><br />
<P> Sin embargo, con el fin de pintar nuestra Tilemap, necesitamos una paleta del azulejo. Desde el menú de la ventana en la barra superior, queremos abrir la ventana del azulejo 2D Paleta y acoplarla al lado del inspector. </ P><br />
<P> <img src =

Antes de añadir los azulejos a la paleta, tenemos que seleccionar todos los sprites y cambiar sus píxeles por unidad de ser 128 en el Inspector. Esto asegura que no se extienda demasiado nuestra red y se alinean correctamente.

inspector Unidad con píxeles por unidad cambió

A continuación, la creación de la paleta en sí es tan fácil como seleccionar todas las fichas en la carpeta de Azulejos y arrastrándolos a la paleta del azulejo.

Unidad Tile paleta con sprites

Ahora podemos pintar nuestra Tilemap! Selección del Tilemap de la Jerarquía, entonces podemos elegir nuestro pincel de la paleta del azulejo y pintar las baldosas sobre. Se puede pintar el nivel de mirar lo que le apetezca, pero asegúrese de que el suelo es relativamente plana.

Unidad escena pintada con tilemap

Después de pintar el Tilemap, seleccione la cámara principal y cambiar el color de fondo a un color azul oscuro.

Unidad inspector con el selector de color de la cámara

Sprite Atlas

Antes de continuar, queremos crear un atlas de Sprite en la carpeta Azulejos. Lo llamaremos principal.

Unidad Crear menú con Sprite Atlas seleccionado

Un Sprite Atlas es una manera de hacer nuestro juego más eficiente, ya que los paquetes todos nuestros sprites en un solo objeto y los carga en medio de un sistema de coordenadas. La mayor parte de esto es manejado por la Unidad, y una vez creado todo lo que tenemos que hacer es arrastrar los sprites a los objetos de la lista de embalaje en el Inspector para el Sprite Atlas.

La unidad Objetos de la lista de embalaje

Nuestro nivel está todo pintado! En la siguiente lección, vamos a configurar las bases que tenemos que proteger.

Parte 2

En esta lección, vamos a construir las bases para que los enemigos van a atacar y establecer nuestro componente de secuencia de base.

Adición de bases en la Escena

En lugar de como azulejos, queremos crear nuestras bases como objetos de juego regular. Como tal, a partir de la Jerarquía, queremos empezar por la creación de un nuevo Objeto 2D Sprite. Lo llamaremos Base armado. Esta será la base que puede en realidad disparan cohetes más tarde.

menú Objeto Unidad 2D con el sprite seleccionado

En el Inspector, vamos a asignar Sprite_165 como el sprite para esta base. Queremos modificar la escala para ser 1,25 en ambos ejes X e Y para que sea un poco más grande. Por su posición, vamos a configurar X a 0, Y a -2,4, y Z a 0. No dude a la posición y el tamaño del sprite como le gustaría, sin embargo.

Inspector Unidad con Transform destacado

A continuación, podemos crear nuestras bases no disparo que necesitan ser protegidos. A partir de la Jerarquía, podemos presionar Ctrl + D para duplicar la base armada y cambiar el nombre del objeto a B ase. Por esta base, queremos utilizar Sprite_166 y moverlo a estar en -3.5 para el X.

Inspector Unidad con Transformar y Sprite Renderizador

Con el objeto base, queremos duplicarlo tres veces más y cambiar la posición X. Uno de estos nuevos objetos se debe colocar un -7, uno a 3,5, y el otro a 7. Inevitablemente, debemos terminar con nuestra base de armado rodeado por dos bases en cada lado.

escena Unidad con bases añadidas

Script Base

Nuestras bases son de configuración, pero ahora tenemos que crear nuestro script. En la carpeta de los Activos, queremos crear una nueva carpeta llamada Script. Entonces, con guión carpeta abierta vamos a hacer clic derecho y crear un nuevo C # script llamado Base. Una vez creada, puede arrastrar el guión de base sobre los objetos de la base. Sin embargo, no lo agregue a la base armada. Este objeto será una clase hija de Base que vamos a trabajar en adelante.

Unidad Inspector con componente de script añadió

Una vez completado, puede hacer doble clic en la secuencia de comandos de base para abrirlo en Visual Studio. El guión de Base será simple e incluir información sobre la salud y una forma de dañar la base. En la parte superior de la clase base, vamos a añadir una variable para almacenar nuestra salud. En virtud de esto, vamos a crear nuestro método daños. Este método se llevará en una cantidad para dañar la base por y luego restar esa cantidad de la salud.
utilizando System.Collections; usando System.Collections.Generic; usando UnityEngine; public class Base: MonoBehaviour {float salud pública; Daños pública vacío (int cantidad) {salud – = cantidad; }} 12345678910111213usingSystem.Collections; usingSystem.Collections.Generic; usingUnityEngine; publicclassBase: MonoBehaviour {publicfloathealth; publicvoidDamage (intamount) {= cantidad con la salud;}}

Para este curso, que no se centran demasiado en la estética de lo que ocurre con la base cuando muere. Por lo tanto, vamos a la muerte mango base muy simple en este guión. Bajo el método de daños, añadiremos un nuevo método que utiliza debug.log mencionar la base ha muerto. Después de lo cual, en daños, sólo tenemos que comprobar si la salud es menor o igual a 0 y llamar a este método morir si ese es el caso.
Daños pública vacío (int cantidad) {salud – = cantidad; si (salud <= 0) {Die (); }} Die private void () {debug.log ( "Una base murió!");} 12345678910111213publicvoidDamage (intamount) {= cantidad con la salud, y si (la salud <= 0) {die ();}} privatevoidDie () {depuración .log ( "Una base murió!");}

(Nota: Usted es libre de añadir su propio material con el método Die, como cambiar el sprite).

Por último, pero no menos importante, tenemos que asignar algo de salud. Desde que hicimos la variable pública , podemos añadir que a través del inspector. Sin embargo, para simplificar las cosas, podemos añadir una función Awake (la primera carrera de la escritura) para asignar la salud para nosotros.
Awake private void () {salud = 3;} 1234privatevoidAwake () {salud = 3;}

En la siguiente lección, vamos a empezar a escribir el guión que controla nuestros proyectiles de cohetes .

Transcripción 1

Hola chicos, mi nombre es Austin Gregory y en este supuesto, te voy a enseñar cómo crear el cohete Defender juego clásico en el que vamos a tener estos malos, estos enemigos que caen del cielo, orientación de sus bases, y tienes que disparar con cohetes.

Así que si tuviera que haga clic en juego aquí, se puede ver mi reloj cuenta regresiva. Estoy filmando estos, sólo podemos imaginar Son cohetes y estas cosas enemigas están cayendo desde el cielo y que estamos enfocando mis bases y, si los golpean, van a dañar mis bases.

Y consigo puntos dependiendo del número de bases que tengo cada ronda. Y mis rondas se basan en 10 segundos, pero el suyo se pueden basar en cualquier cosa de número de enemigos por nivel o un conjunto aleatorio de tiempo entre los valores, dependiendo de lo que desea hacer para su juego. Y cada ronda, se acumula la puntuación y se sigue agregando a la misma por lo que acaba de seguir jugando hasta que lo pierde, y una vez que se pierde, empezar de nuevo.

Mi nombre es Austin Gregory y te verá en la primera lección.

Transcripción 2

Hola chicos. Mi nombre es Austin Gregory, y en este curso vamos a construir un poco fresco juego de defensa de cohetes. Donde vamos a tener que defender nuestras bases contra la caída de los enemigos disparando cohetes contra ellos desde nuestro derecho de base armada en el centro.

Vamos a enemigos desovar al azar en la parte superior de la pantalla. De la parte superior de la pantalla un poco con una anchura que puedan desovar en la parte superior. Ellos van a apuntar a una sola base individual. Vamos a elegir esa forma aleatoria, y que vamos a conducir directamente a esa base. Tratando de dañar la base. Toma tres visitas a matar una base. Al final de una ronda de obtención de puntos para cada base tiene todavía vivo. Y seguir haciendo esto durante tanto tiempo como sea posible, para ver qué tipo de arreglo en el que puede obtener. Cada ronda tendrá una duración de un número determinado de segundos o un número conjunto aleatorio de segundos dependiendo de cómo desea hacerlo. Y acabamos de seguir adelante hasta que muere.

Por lo tanto, en esta lección vamos a diseñar el nivel de uso de algunos azulejos que tengo. Y vamos a construir solo un pequeño nivel, y en el siguiente nivel, o en la siguiente lección, vamos a configurar nuestras bases en este nivel.

Por lo tanto, vamos a utilizar un atlas de Sprite para nuestros azulejos. Y vamos a utilizar un tilemap que nos permite pintar los azulejos en la unidad. Y vamos a acaba de presentar a un nivel poco agradable. El Sprite Atlas va a permitir que seamos más eficiente con la forma en que nuestros azulejos y nuestros sprites se manejan. Es muy fácil de hacer. Así que voy a saltar en el cubo de la Unidad aquí – que va a abrirse Hub Unidad. Voy a crear un nuevo proyecto.

Así nuevo proyecto, que va a llamar a este defensor de cohetes, y vamos a utilizar la última versión disponible – que en realidad es en beta por el momento 2.019 puntos 2.0 a 4. Y esto va a ser un proyecto de plantilla 2d y simplemente crear proyecto. Ahora en una carpeta aquí, tengo todas las fichas iban a estar usando y un par de efectos de sonido. Nos va a utilizar estas baldosas para diseñar el nivel. Nos va a utilizar esta joya de oro aquí como nuestro cohete.

Y tenemos algunos botones aquí abajo que actuarán como nuestra base, si puedo encontrar aquí. Aquí vamos. Que va a ser nuestra forma regular y que va a ser nuestra base de armado que vamos a estar disparando desde. Así que aquí estamos en el diseño predeterminado. Si no ves lo que estoy viendo en este momento subir a la parte superior derecha ir a por defecto y este es el diseño obtendrá.

Queremos empezar por crear nuestra tilemap y nuestros atlas de baldosas. Así que voy a crear una nueva carpeta. Se va a mantener todos nuestros azulejos que va a llamar teja. Y dentro de este, sólo voy a arrastrar los azulejos que vamos a usar la derecha en ella. Vamos a utilizar estas para añadir algunas flores a nuestro nivel y luego vamos a utilizar vamos a encontrar aquí las baldosas. Así que cuando se crea una plataforma en el suelo utilizando estas baldosas. Nos va a querer esto como el cohete y se agarra estos botones. Sólo tienes que arrastrar estos en esa carpeta allí, y he seleccionado los Manteniendo presionado el control.

Y también quiero añadir este marrón simplemente por lo que realmente puede añadir un poco de profundidad a nuestra plataforma de la parte inferior allí. Y ahora quiero crear una tilemap el uso de estos sprites, así que iré al objeto juego de objetos 2D, y yo quiero crear un tilemap. Y que va a agregar una cuadrícula para nuestra escena con un tilemap así como así.

Ahora quiero abrir otra ventana que va a ser la paleta de baldosas – al lugar donde podemos poner nuestras baldosas tilemap y nos permitirá pintar los azulejos en nuestro mundo, así que va a estar bajo la paleta de baldosas 2D. Ahora voy a atracar solo esta justo al lado de mi inspector lo que sólo puede cambiar entre los dos allí. Así. Y yo quiero crear una nueva paleta de baldosas, y lo llamaré principal y todas estas cosas a seguir por defecto por ahora. Sólo quiero usar todas las cosas de la forma predeterminada acaba de obtener esta yendo bastante rápido.

Y quiero poner esta tilemap en la carpeta de baldosas, así que seleccione esa carpeta y hay que ir. Ahora necesito sprites baldosas arrastre o activos textura de sprites para crear el tilemap. Así que voy a tener que hacer esto tomar estos azulejos. Estas son las baldosas individuales. Se puede usar un tilemap para este ya está en su conjunto. Pero tengo baldosas individuales, sólo voy a arrastrar este sobre en mi tilemap. Y de nuevo seleccionar una carpeta de lo que va a generar los azulejos. Voy a generarlo justo en la misma carpeta. Así como así.

Ahora tengo estos azulejos – usted puede cambiar su posición si quieres por ir a editar haciendo clic en ellos y arrastrándolos alrededor. Si se va a realidad seleccionarlo y moverlo, pero está bien dónde están realmente no me importa. Ahora apague edición, vamos a seleccionar nuestro mapa de la ciudad, y vamos a tener el pincel seleccionado aquí. Y voy a seleccionar una ficha y voy a empezar a pintar.

Ahora, una cosa que se está viendo es que tiene estos bordes extruidos sobre el tamaño real del azulejo. Así que no hemos establecido un tamaño de nuestros azulejos, y que en realidad no hemos establecido nuestros sprites individuales. Así que si tuviera que venir y ver e inspeccionar aquí con estos seleccionados, si selecciono, nuestros sprites deben terminar esto antes aquí sobre el control solo.

Seleccione todos ellos todos los sprites individuales – no los propios azulejos. Y lo que quiero hacer es establecer los píxeles por unidad. Sé que mis sprites son de 128 x 128, por lo que voy a decir 128 píxeles por unidad. Eso significa que ahora nuestros sprites será de 1 por 1 unidad a unidad por defecto, que es exactamente lo que queremos. Así que ahora que sólo queda a su medida en el interior de nuestras barreras de baldosas, no nuestra red de baldosas.

Y voy a añadir algunas aristas aquí a la vuelta de fuera – que ni siquiera verán estos están fuera de la cámara. Pero por si acaso tendremos que allí y entonces sólo tiene que añadir el suelo debajo de eso. Y también podemos añadir algunas flores aquí, algunas plantas sólo para darle una vida poco. Y lo que vamos a hacer es poner nuestra base, nuestra principal base armada en el medio, y luego vamos a tener las cuatro defienden las cuatro bases que se dirigen fuera de aquí y hacia la derecha a la izquierda.

Así que quiero saltar en muy rápidamente y decir que me olvidé de configurar el Sprite Atlas como se suponía que en esta lección. Así que quiero ir y mostrar cómo hacer eso en este momento. Si voy al botón derecho del ratón, vaya a crear, puedo crear un nuevo Sprite Atlas así como así. Y voy a llamar a esta principal también.

Así que cuando el atlas va a hacer por nosotros es que vamos a ser capaces de añadir nuestros sprites individuales a ella, y que va a crear un solo objeto de que puedan obtener todas estas imágenes de. Y se va a hacer que el uso de un sistema de coordenadas. Es realmente de lujo, pero todo lo que importa es lo que hace que nuestro juego sea más eficiente y que simplemente hace que funcione mejor. Así que lo que voy a hacer a continuación es simplemente arrastrar estos una y agregarlo a objetos para el embalaje. Uno a la vez – o lo que podemos hacer es que podemos bloquear el inspector por lo que este no desaparece cuando selecciono otro objeto. Y yo sólo les puedo seleccionar todo Manteniendo presionado el control y luego sólo tienes que arrastrar una y dejarla caer sobre objetos para el embalaje.

Y si hago clic en vista previa del paquete, podemos ver cómo se ve en el final. Esto es lo que crea. Y en este momento está en apretado embalaje por el acolchado. Tampoco se puede permitir el giro y hacer que el embalaje no apretado. Se puede ver lo que parece. Hay que ir. Totalmente suya de todos modos la forma de hacer que el grado de eficiencia que desea ser. Pero en mi caso esto es muy bueno. Y fresco de lo que acerca de esto es que no obliga automáticamente. Ahora bien, si se trata de conseguir un sprite que hemos referenciado por uno de estos en lugar de hacer que simplemente va a ir a los Atlas de sprites. manijas unidad que para nosotros. Si está en un sprite atlas lo hace, muy simple.

Ahora, de vuelta a lo que estábamos haciendo.

Para que se ve muy bien. Quiero llevar mi cámara y cambiar el color de fondo Así que en realidad podemos igualar – Vamos a hacer realmente un color azul en la parte posterior como un azul oscuro, algo así como que se ve muy bien y nuestros enemigos son va a venir abajo desde la parte superior y simplemente se dirijan bases.

Así que en la siguiente lección, chicos, vamos a configurar nuestras bases. Vamos a construir el objeto en sí mismo y escribir un script sencillo que contará la base de lo que se supone que debe hacer. Eso está en la siguiente lección. Mi nombre es Austin, y voy a verte allí.

Transcripción 3

Hola chicos. En esta lección, vamos a construir nuestras bases. Será los objetivos de nuestros enemigos que caen. Así que tenemos que decidir dónde vamos a colocar nuestras bases. Sólo vamos a crear algunos sprites en nuestro mundo del juego. A continuación, vamos a crear un script de base que va a acaba de dar el objeto algo de salud y la capacidad de ser dañado. Y luego vamos a, más adelante, tiene una colección de todas estas bases.

Así que tenemos las cuatro bases regulares, la base de armado, y nosotros vamos a ser capaces de obtener una base aleatoria como objetivo de un enemigo, y también comprobar para ver si la base está vivo o no. Si la base está muerta, no se dirigen esa base. Así que si se llega hasta el punto en el que sólo tiene una base izquierda, todos los enemigos que se dirigirá a la base, por lo que es un poco más difícil para usted a medida que avanza a través de una ronda.

Así que ahora a simplificar las cosas, no vamos a utilizar necesariamente los azulejos de nuestros botones aquí, de estas bases. Sólo vamos a crear objetos en la escena al igual que lo haría normalmente, y vamos a utilizar los que nuestras bases. Así que en primer lugar, vamos a crear nuestra base de armado. Voy a crear un objeto en 2D que es un sprite, y lo llamaré de base armada, así como así. Y quiero ver dónde está aquí. lugar de dejar que esto, cero, cero, cero. Y el sprite que quiero usar para la base armada va a ser ese botón justo allí, y podemos ver allí mismo.

Así que si tuviera que arrastrar este hasta el punto muerto, justo encima de la tierra, que es lo que obtienes. Ahora, el tamaño, que depende de cómo usted quiere hacer esto dependiendo de la escala de su juego. Pero tal vez lo que quiero hacer como 1,25, 1,25 en la X y la Y, apenas caen en el que está allí; quizá 1.25 en la Y, así y simplemente colocarlo en la parte superior derecha allí. Acerca de -1.24 en las miradas Y como una buena posición, y nuestros otros botones, las otras bases aquí, van a ser lo mismo, excepto que vamos a lugar a retirarse hacia la izquierda y la derecha. Así que voy a duplicar la base armada. Soy lo llaman base. Y voy a utilizar este elemento sprite para la base, y vamos a moverlo hacia la izquierda en la X, -2, -3 tal vez. 3.5 ve bastante bien. Y sólo tendremos que duplicar de nuevo y luego hacemos -7.

Y, obviamente, puede mover alrededor de estas plantas si queremos. Y a continuación, vamos a hacer lo mismo en la otra dirección. Así que toma tanto de estas bases, duplicar ellos, moverlos fuera a la derecha tres, y luego pasar el otro a la derecha, en realidad 3,5, y después de siete. Por lo que no vamos. Ahora son agradables y centrado. Se distribuyen uniformemente entre la izquierda y la derecha de la base armada, y que se ve muy bien.

Así que ahora vamos a crear una carpeta scripts para contener todos nuestros scripts que vamos a estar escribiendo aquí. Sólo voy a llamarlo guiones, y en el interior de esta vamos a crear un nuevo guión C # denominado base. Ahora bien, esto estará en todas nuestras bases, por lo que puedo añadir esto a la base, al igual que este, o podemos seleccionar todos a la vez, hacerlo todo a la vez. Ahora la base armada tendrá una clase derivada de la base que le permite al fuego. Así que va a ser una base, pero va a ser una clase hija de la base, a diferencia de la clase padre, que estamos escribiendo en este momento.

Así que abrir esto en Visual Studio. La clase base de base va a ser muy simple: que va a tener una propiedad de salud que va a comenzar en como tres o menos. Si se pone a cero, que la base está muerto, y que va a tener un método para dañar la base si fuera a chocar con un enemigo. Así que lo que quiero hacer es tener una salud pública de flotación, tal vez un entero y también en función de cómo desea calcular su salud, pero sólo voy a utilizar un flotador por ahora.

Y no necesitamos cualquiera de estos métodos. Lo que yo quiero es que quieren tener un public void – vuelve nada – y que va a ser llamado simplemente daños. Ahora el daño va a ser el método que llamamos cada vez que el enemigo choca con la base. El enemigo va a ser responsable de llamar a este método de sí mismo. Por lo que va a pasar en la cantidad de daño que debe hacer, o lo que siempre se puede decir un enemigo que golpea este medio de base de un daño.

Ahora me podría añadir esto simplemente diciendo cantidad, y entonces podríamos simplemente utilizar esta cantidad por lo que podría tener diferentes enemigos de tamaño, tal vez un gran enemigo hace más daño, un enemigo más pequeño hace menos daño, y así sucesivamente. O usted podría mantenerla con simplemente -1 por daños.

Lo que esto hará es hacer-cantidad de la salud, ¿verdad? Por lo tanto se podría decir de la salud menos uno, o menos salud, menos para restar sólo una. O se podría decir que la salud = cantidad. Y eso va a restar de la cantidad de salud que pasamos en, y será entonces almacenar esa cantidad de vuelta en la salud. Así salud será igual a cualquier cantidad de menos es la salud. Y luego simplemente tiene que comprobar si la salud = 0, eso significa que esta base está muerto, así que sólo puedo decir murió.

Ahora no vamos a hacer nada directamente en caso de fallecimiento de base, porque lo único que importa es si la base está vivo cada vez que estamos tratando de conseguir un objetivo para un enemigo. Cada vez que un enemigo desovar, que va a comprobar para ver lo que las bases están vivos y dame al azar de esas bases vivos. Así que la muerte de base no necesariamente me importa en esta sencilla forma de juego, pero yo esperaría que le quiero hacer algo con él. Tal vez jugar un efecto de sonido cuando muere o tal vez cambiar el sprite a un sprite diferente si está muerto. Muy simple cosa que hacer, pero estamos manteniendo aquí que sea muy simple. Sólo estoy añadiendo esto en tan sólo en caso de que quiera hacer eso.

Así que se puede añadir a continuación un vacío privada, Voy a llamar a morir. Y sólo tendremos que llamamos a esto cada vez que morimos, por lo que tendremos que echar la soga. Ahora todo lo que quiero hacer cuando un familiar fallece de base, que sólo lo hacen aquí en este método. Por ahora, sólo voy a conecto un mensaje que dice que murió una base. Y ahora de nuevo en la unidad, todo lo que tengo que hacer es lo que puedo añadir directamente la salud en el Inspector de este tipo, o pudiera volver atrás y decir cada vez que se crea esta base, queremos añadir otros tres de la salud a la misma.

Así que podríamos decir nula Despierto, y sólo tendremos que decir que la salud = 3. Así como simple como eso. Así que ahora cada vez que se inicia el juego, la salud es igual a tres en todas nuestras bases. Muy fresco.

Eso va a ser para esta lección, chicos. En la siguiente lección, vamos a escribir nuestro guión de cohetes. Que va a ser lo que nuestros fuegos bases armadas. Cada vez que hacemos clic, que va a tomar una dirección y movimiento en esa dirección en base a la posición del ratón. Eso está en la siguiente lección, chicos. Mi nombre es Austin, y voy a ver ya existe.

interesado en continuar? Echa un vistazo a los proyectos de la unidad plena 2D -. Rocket Defensor curso, que forma parte de nuestra unidad de desarrollo de juegos Mini-Grado

Mensajes relacionados

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *