Do meu Ge rador de zumbi
Zumbi
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GeradorDeZumbis : MonoBehaviour
{
public GameObject Zumbi;
private float contadorTempo = 0;
public float TempoGerarZumbi = 1;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
contadorTempo += Time.deltaTime;
if(contadorTempo >= TempoGerarZumbi)
{
Instantiate(Zumbi, transform.position, transform.rotation);
contadorTempo = 0;
}
}
}
Da minha bala
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Bala : MonoBehaviour
{
public float Velocidade = 20;
// Update is called once per frame
void FixedUpdate()
{
GetComponent().MovePosition
(GetComponent().position + transform.forward * Velocidade * Time.deltaTime);
}
private void OnTriggerEnter(Collider objetoDeColisao)
{
if (objetoDeColisao.tag == "Inimigo")
{
Destroy(objetoDeColisao.gameObject);
}
Destroy(gameObject);
}
}
Do meu zumbi
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Controlezumbi : MonoBehaviour
{
public GameObject jogador;
public float Velocidade = 5;
// Start is called before the first frame update
void Start()
{
jogador = GameObject.FindWithTag("Jogador");
int geraTipoZumbi = Random.Range(1, 28);
transform.GetChild(geraTipoZumbi).gameObject.SetActive(true);
}
// Update is called once per frame
void Update()
{
}
void FixedUpdate()
{
float distancia = Vector3.Distance(transform.position, jogador.transform.position);
Vector3 direcao = jogador.transform.position - transform.position;
Quaternion novaRotacao = Quaternion.LookRotation(direcao);
GetComponent<Rigidbody>().MoveRotation(novaRotacao);
if (distancia > 2.5)
{
GetComponent<Rigidbody>().MovePosition(GetComponent<Rigidbody>().position + direcao.normalized * Velocidade * Time.deltaTime);
GetComponent<Animator>().SetBool("Atacando", false);
}
else
{
GetComponent<Animator>().SetBool("Atacando", true);
}
}
void AtacaJogador()
{
Time.timeScale = 0;
jogador.GetComponent<Controlepersonagem>().TextoGameOver.SetActive(true);
jogador.GetComponent<Controlepersonagem>().Vivo = false;
}
}