Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.
Pasos en la resolución del juego de tanques con Unity 3D
1. A partir de un sprite cuadrado, deformarlo para crear un sprite rectangular.
2. Cambiar el origen de coordenadas del sprite, para que gire alrededor de su base.
3. Utilizar un código similar al siguiente para rotar el cañon cuando el usuario pulse las flechas de dirección:
transform.Rotate(0, 0, inputX
* 30 * Time.deltaTime);
Tecla de espacio para disparar, flecihitas para mover el tanque y la potencia de disparo la escribes en el input.
4. Cuando el jugador pulse la tecla espacio, debería disparar una bala de cañón. Para ello instanciaremos la bala con la rotación del cañón:
while(premium == false) verCodigo = false;
Para poder ver el código fuente, accede o suscríbete.
Y asociaremos a la bala un script que le dotará de una fuerza inicial:
while(premium == false) verCodigo = false;
Para poder ver el código fuente, accede o suscríbete.
5. Ahora crearemos un Empty llamado ShootPoint que tendrá las coordenadas donde queremos que se instancie la bola de cañón.
while(premium == false) verCodigo = false;
Para poder ver el código fuente, accede o suscríbete.
6. Queremos que haya varios cañones, así que definiremos dos variables estáticas en el Cannon para controlar a quien le toca disparar:
while(premium == false) verCodigo = false;
Para poder ver el código fuente, accede o suscríbete.
Cada vez que un jugador termine su disparo, le tocará al siguiente, para ello usaremos el siguiente código:
while(premium == false) verCodigo = false;
Para poder ver el código fuente, accede o suscríbete.
Hemos metido el código que pasa al siguiente cañón en una corrutina para que sólo se ejecute cuando el frame haya terminado y que no haya peligro de que como el frame no ha terminado pasemos a la siguiente instancia, y se ejecute su disparo.
Toda la lógica de acción del cañón debe estar supedidata a que sea su turno:
while(premium == false) verCodigo = false;
Para poder ver el código fuente, accede o suscríbete.
7. Recoger la fuerza de la bala de cañón de un Input.
Dentro del prefab del cañón crearemos un Input que nos permitirá introducir los datos.
El Canvas al que pertenecerá este Input tendrá un Render Mode de tipo World Space. Por tanto, tendremos que asignarle la Main Camera a este Canvas, lo cual haremos con el siguiente script:
while(premium == false) verCodigo = false;
Para poder ver el código fuente, accede o suscríbete.
Definiremos el getter y setter de la fuerza para la bala de cañón:
public int power { get; set; }
Debemos asignar la fuerza de disparo a la bala de cañón:
while(premium == false) verCodigo = false;
Para poder ver el código fuente, accede o suscríbete.
8. Aumentaremos el marcador de puntos del cañón que ha disparado cuando la bala impacte sobre el otro cañón.
CannonBall.cs
while(premium == false) verCodigo = false;
Para poder ver el código fuente, accede o suscríbete.
Player.cs
while(premium == false) verCodigo = false;
Para poder ver el código fuente, accede o suscríbete.