Sprint #12
Fecha de inicio: 23/04/2019
Fecha final: 30/04/2019
Martes: Se iniciara con la programación de la barra de vida en este caso del enemigo, para el cual nos basaremos en unos vídeos instructivos que se encuentran en ingles.
Viernes: Se retomara lo realizado en el día martes con tal de solucionar, posibles errores y continuar con lo visualizado en el vídeo de apoyo para esta parte la cual es de la barra de vida. aprovechando la fortaleza de Kevin que domina el ingles la cual facilita la corrección de posibles errores derivados de la interpretación del vídeo instructivo.
Nuestra forma de trabajar, esta dividida en los dos dias, el martes se encargara Daniel Cadavid, y el día viernes Kevin Vasco, vale aclarar que ambas tareas incluyen programación.
Daily
- Martes, 23 de Abril
¿Qué hemos hecho?
- Se implemento una nueva función para el enemigo el cual se trata de vida para el enemigo y daño de la bala hacia el enemigo, pero dentro de los mismos scripts ya previamente implementados.
¿Qué haremos?
- se iniciara con la programación de la parte de la barra de vida para los enemigos para los cuales nos basaremos en un par de video que se encuentran en ingles.
¿Qué dificultades han tenido?
- Se tuvieron unos errores los cuales,no aparece la barra de la vida encima de todos los enemigo cuando se ejecuta el juego; estando ya todo programado en los scripts, se espera que el compañero kevin que domina mas la lengua ingles, pueda detectar los errores con base al video instructivo el cual se encuentra en ingles
Aclaramos que tenemos dos conceptos similares, trabajados últimamente, que son: la implementacion del conteo de la vida, y la barra de vida.
Evidencia de lo realizado implementado en el juego
Para este Daily se Modifico solo el Script de Enemigo
Code: Select all
using UnityEngine;
using UnityEngine.UI;
public class Enemigo : MonoBehaviour
{
/*
* Aqui le pasaremos los Waypoints para que el enemigo lo siga directamente y no tenga que realizar algun caluclo el enemigo, sino que siempre estara disponible la ruta para cualquier gameObject en caso de que se necesite
* La velocidad que tienen los enemigos tambien esta aqui.
*/
private Transform objetivo;
private int wavePointIndex = 0;
public float velocidad = 1f;
public float startHealth = 100;
private float health;
[Header("Unity Stuff")]
public Image healthBar;
// El objetivo es el primer nodo, o sea, el 0 y luego le daremos la direccion hacia ese nodo.
private void Start()
{
objetivo = Waypoints.nodos[0];
health = startHealth;
}
public void TakeDamage(int amount)
{
health -= amount;
healthBar.fillAmount = health / startHealth;
if (health <= 0)
{
Die();
}
}
void Die()
{
Destroy(gameObject);
}
private void Update()//
{
Vector3 dir = objetivo.position - transform.position;
transform.Translate(dir.normalized * velocidad * Time.deltaTime, Space.World);
if (Vector3.Distance(transform.position, objetivo.position) <= .4f)
{
ProximoWaypoint();
}
}
// Este es para calcular el proximo nodo que tendra que seguir el enemigo.
void ProximoWaypoint()
{
if (wavePointIndex >= Waypoints.nodos.Length - 1)
{
EndPath();
return;
}
wavePointIndex++;
objetivo = Waypoints.nodos[wavePointIndex];
}
void EndPath()
{
PlayerStats.Lives--;
Destroy(gameObject);
}
}