Qual o erro de lógica nestes 2 Scripts?!
2 participantes
Página 1 de 1
Qual o erro de lógica nestes 2 Scripts?!
Boa noite, gostaria de saber qual o erro lógico nesses scripts aqui. Já que quando o Zombie receber um tiro da Bala, ele vai receber "-vidasZ" e vai Instanciar "Sangue". Acontece que quando eu troco a void OntriggerEnter para o Script Bala, funciona o contador de danos porém, não Instancia o "Sangue". Alguém me ajude por favor!!!@@
Obs: As tags já estão definidas para os objetos "Player, Zombie e Bala" !!!
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Arma : MonoBehaviour {
public GameObject bala;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetKeyDown (KeyCode.Space)) {
Instantiate (bala, transform.position, transform.rotation);
}
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ZombieBE : MonoBehaviour {
public GameObject Zombie;
public float VelocidadeZ;
public bool ZombieAtaca;
public bool ZombieOlha;
public Animator Animachar;
public int vidasZ = 3;
public Transform Alvo;
public bool perto;
public bool Vivo;
public GameObject sangue;
public Transform SaiSangue;
// Use this for initialization
void Start()
{
Vivo = true;
Alvo = GameObject.Find("PersonagemJogo").transform;
}
// Update is called once per frame
void FixedUpdate()
{
Zombie.transform.Translate(Vector3.forward* VelocidadeZ * Time.deltaTime);
if (ZombieOlha == true)
{
Zombie.transform.LookAt(Alvo);
}
if (vidasZ <= 0) {
Vivo = false;
}
//ZombieMorrendo
if (Vivo == false) {
StartCoroutine ("MorteZ");
Animachar.Play ("AnimaZombieMorrendo");
VelocidadeZ = 0;
}
}
void OnTriggerEnter(Collider other)
{
if(other.gameObject.tag == "AreaAtencao")
{
ZombieOlha = true;
}
if (other.gameObject.tag == "Personagem") {
perto = true;
}
if (other.gameObject.tag == "Bala") {
Instantiate (sangue, SaiSangue.position, SaiSangue.rotation);
vidasZ -= 1;
}
}
void OnTriggerExit(Collider other)
{
if (other.gameObject.tag == "AreaAtencao")
{
ZombieOlha = false;
}
if (other.gameObject.tag == "Personagem")
{
Animachar.Play ("AnimaZombieCorrendo");
perto = false;
}
}
IEnumerator MorteZ (){
yield return new WaitForSeconds (1f);
Destroy (Zombie);
}
}
Obs: As tags já estão definidas para os objetos "Player, Zombie e Bala" !!!
MarcosUAC- Membro
- PONTOS : 2497
REPUTAÇÃO : 2
Idade : 22
Áreas de atuação : Tec.Hardware.
Tec.Redes.
Respeito as regras :
Re: Qual o erro de lógica nestes 2 Scripts?!
o sangue está sendo instanciado na posiçao (0,0,0) e rotaçao (0,0,0) porque nao passou a posiçao do impacto da bala para a variavel saisangue
zerocool10- Iniciante
- PONTOS : 3236
REPUTAÇÃO : 1
Respeito as regras :
Tópicos semelhantes
» Erro ao adicionar scripts
» Unet Problema ou Erro de Logica?
» Alguem pode resolver o erro desses scripts, resolver o erro deste pacote
» ERRO DE SCRIPTS
» Scripts com erro
» Unet Problema ou Erro de Logica?
» Alguem pode resolver o erro desses scripts, resolver o erro deste pacote
» ERRO DE SCRIPTS
» Scripts com erro
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos