Dejare el enlace de descarga al final del post
Primero creamos las variables:
var player : GameObject; Declaramos al jugador
var speed : float=6f; Velocidad
var range : float=10f; Rango para que el enemigo te persiga
var hitRange : float=5f; Rango para que te ataque
var enemyDamage : float=10f; El daño que te aplica
var rotationSpeed : float=5f; La velocidad con la que rota
var damageTimer : float=0f; El tiempo que tarda en atacar
Primero en la funcion Start buscamos al jugador
function Start(){
player = GameObject.FindGameObjectWithTag("Player");
}
Si el enemigo ya esta a cierta distancia del personaje que se mueva en esa direccion y ademas que rote
function Update()
{
// Move the Player
var distance = Vector3.Distance(transform.position, player.transform.position);
if(distance<=range)
{
// Translate
var delta = player.transform.position - transform.position;
delta.Normalize();
delta.y = 0;
var moveSpeed = speed * Time.deltaTime;
transform.position = transform.position + (delta * moveSpeed);
// Rotate
transform.rotation = Quaternion.Slerp (transform.rotation, Quaternion.LookRotation(delta), rotationSpeed * Time.deltaTime);
transform.eulerAngles = Vector3(0, transform.eulerAngles.y, 0);
Y ahora que aplique el daño conforme a el tiempo entre ataque y ataque declarado el la variable damageTimer
damageTimer+=Time.deltaTime; if (distance < hitRange && damageTimer>=1.5) { damageTimer=0f; player.SendMessageUpwards ("ApplyDamage", enemyDamage, SendMessageOptions.DontRequireReceiver); } } Aqui declaro que con tan solo un golpe se destruya el enemigo ya que esta IA la utilizare para alimañas(Enemigos de un punto de vida)
if(distance<=4){
if(Input.GetKeyDown(KeyCode.Mouse0))
{
Debug.Log("Hello");
Destroy (gameObject);
}
}
}
Link: https://www.mediafire.com/?ra71qp1d74pp972
la script se le aplica al enemigo o al player?
ResponderEliminar