3
respostas

meus zumbis nao morrem mais!

Eu conferi diversas vezes os codigos e nao acho que esteja algo errado. O jogo roda mas os zumbis nao morrem mais! alguem sabe como me ajudar ou o que eu tenho que fazer ou ver? Eu atiro neles, eles continuam espalnando , nao morrem e sao todos diferentes ate comecarem a repitir!

3 respostas

Olá Cristiano, você conferiu se as balas estão com o Is Trigger ativado? E se no código da bala, ao colidir com o Zumbi a bala deve destruir ele e ela mesma?

Se puder copiar o seu código do Zumbi ou então compactar e enviar o seu projeto via nuvem para eu dar uma olhada, posso tentar te ajudar.

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;
}

}

Oi, Cristiano, tudo bem?

Como o Rafael tinha comentado o IsTrigger tá ativado? E a tag está correta?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software