EJERCICIO11_Prefabs

En esta lecciуn aprenderemos a crear copias de un prefab a travйs del cуdigo.
Usaremos el ratуn para que al pulsar el click izquierdo, nuestro personaje dispare un proyectil hacia adelante.

EJERCICIO11_Prefabs

¿Qué es un prefab?

Es un objeto ya configurado con todo lo que hayamos puesto dentro de la escena.
Por ejemplo si queremos tener un prefab del player.Devonn
Lo que tenemos que hacer es selccionarlo desde la pestaña de Jerarquía, arrastrarlo a la carpeta de Assets>Prefabs:

EJERCICIO11_Prefabs

Lo que tenemos ahora es un duplicado de nuestro player dentro de la escena. Una copia exacta de este objeto.
Eliminamos el objeto player de la pestaña de Jerarquía y dejamos el player en la carpeta de Prefabs.

A continuación vamos a crear un código que genera Prefabs automaticamente.

Es decir vamos a configurar un código donde al clicar en la letra C se genere una copia de en este caso de la pelota.

EJERCICIO11_Prefabs

Arrastramos la esfera a escena y la renombramos como bala. A continuación la arrastramos desde la pestaña jerarquía y la añadimos en la carpeta de prefabs

Yaestudio

EJERCICIO11_Prefabs

El siguiente paso será abrir el script del player, Movimiento, donde vamos a modificarlo para que cuando pulsemos en la letra C del teclado este objeto Bala, genere una copia de si mismo.

Avid Media

Abrimos el script de Movimiento del objeto player y escribimos las siguientes líneas:

EJERCICIO11_Prefabs

Aquí le estamos diciendo que si pulsamos la letra C creará duplicados de la Bala, que se colocaran a 5 posiciones en frente de nuestro jugador.

EJERCICIO11_Prefabs

Ahora al probar el juego cada vez que pulsemos la letra C iremos generando esas esferas de manera indefinida. Vamos a darle una velocidad a estas esferas para que salgan como si fueran balas de verdad:

EJERCICIO11_Prefabs

Asignamos un gameObject el cual le llamamos balaAux el cual tendrá las mismas propiedades de la esfera que se repite

EJERCICIO11_Prefabs

Y aquí llamamos a esa balaAux y le decimos que tenga un componente rigidbody es decir que se le apliquen unas fisicas y que añadamos un fuerza que haga que se desplace hacía adelante multiplicandolo por la cantidad de 100.
Por último para finalizar el comportamiento de la Bala vamos a decirle que pasado un tiempo estas desaparezcan para que el juego no se llene de objetos y haga que se ralentice toda la escena:

EJERCICIO11_Prefabs

Aquí le estamos diciendo que a los 2 segundos nuestras balasAux, es decir las esferas, se destruyan o desaparezcan del juego. De esta manera optimizamos el rendimiento del juego.
Guardamos el ejercicio como Balas.

Categorías: Unity