Erro com tag
5 participantes
Página 1 de 1
Erro com tag
Descobri um Bug bem FDP quando vc pega o objeto com a tag ele diz que que o objeto nao existe , mas se fechar a Unity e abrir de novo o erro para.
- Código:
public String TagInimigo;
public Gameobject Inimigo;
void Update(){
Inimigo = GameObject.FindGameObjectWithTag (TagInimigo);
if (DetectarProximidade == true && Agarando == true) {
Inimigo.GetComponent<Poder> ().Agarado = true;
} else {
Inimigo.GetComponent<Poder> ().Agarado = false;
}
Re: Erro com tag
Preciso ver o código inteiro para ter uma noção melhor do que acontece, e principalmente, saber se o inimigo já tem tag setada ou algum script que faz isso nele.
Re: Erro com tag
Marcos como eu disse ao fechar e abrir novamente a unity o erro desaparece, no caso desapareceu, tipo deu erro quando eu adicionei a segunda açao no objeo com a tag ele deu erro, mas depois desapareceu o erro entao por isso acho que é um bug da unity
Re: Erro com tag
Dom3000 escreveu:Marcos como eu disse ao fechar e abrir novamente a unity o erro desaparece, no caso desapareceu, tipo deu erro quando eu adicionei a segunda açao no objeo com a tag ele deu erro, mas depois desapareceu o erro entao por isso acho que é um bug da unity
Não é, isto é a sequência com que as tags são geradas, definidas ou processadas... Dificilmente a Unity vai dar um erro deste tipo por bug
Re: Erro com tag
na minha unity vive dando esses erros de tag as vezes nao acha a tag do objeto, ai depois acha sei la no meu da esse erros
Re: Erro com tag
entao para nao da erro teria que fazer as tags como?MarcosSchultz escreveu:Dom3000 escreveu:Marcos como eu disse ao fechar e abrir novamente a unity o erro desaparece, no caso desapareceu, tipo deu erro quando eu adicionei a segunda açao no objeo com a tag ele deu erro, mas depois desapareceu o erro entao por isso acho que é um bug da unity
Não é, isto é a sequência com que as tags são geradas, definidas ou processadas... Dificilmente a Unity vai dar um erro deste tipo por bug
Re: Erro com tag
Para inserir tag utilizo a interface da Unity msm (Inspector Game Object/Untagged/Add tag/Nome da nova tag), criando uma nova tag e vinculando com o Game Object.
E no script para comparar utilizo esse abaixo.
Ou
E no script para comparar utilizo esse abaixo.
- Código:
PontoDeColisao.transform.tag == "Objeto"
Ou
- Código:
gameObject.CompareTag("NomeTag")
#N31- Membro
- PONTOS : 3403
REPUTAÇÃO : 11
Idade : 30
Respeito as regras :
Re: Erro com tag
Isto vai pegar o objeto com a tag, mas veja, se por exemplo, o seu inimigo é instanciado em algum momento do jogo, e este comando de "FindWhaitTag" estiver na void Start, o problema vai ocorrer sempre.
Re: Erro com tag
Marcos eu coloco esse comando no update, mas esse comando é ruim?, sempre uso ele assim.
Re: Erro com tag
eu coloco assim tentando evitar um erro se a tag nao existir, mas nao adiantou deu erro iqual,
- Código:
if(TagInimigo!= null){ Inimigo=Gameobjeto.findwithtag(TagInimigo);}
if(Inimigo!=null){executo a acao}
Re: Erro com tag
- Código:
using UnityEngine;
using System.Collections;
public class ATKExplosaoSolar : MonoBehaviour {
public float TamnhoMaximo ,Q,V;
public bool Dest,Explosao,EA;
public GameObject BOOM;
float c;
public GameObject Destruidores1, Destruidores2, Destruidores3,INIMIGO,PAI;
public string Tag1, Tag2, Tag3, Tag4, Tag5,TagInimigo,TagPai;
void Start () {
}
void Update () {
if (Tag1 != null) {
Destruidores1 = GameObject.FindWithTag (Tag1);
}
if (Tag2 != null) {
Destruidores2 = GameObject.FindWithTag (Tag2);
}
if (Tag3 != null) {
Destruidores3 = GameObject.FindWithTag (Tag3);
}
if (TagInimigo != null) {
INIMIGO = GameObject.FindWithTag (TagInimigo);
}
if (TagPai != null) {
PAI = GameObject.FindWithTag (TagPai);
}
if (Explosao == true&&EA==false) { Instantiate (BOOM, transform.position, transform.rotation);
Explosao = false;
EA = true;
}
if (c >=TamnhoMaximo) {
c = TamnhoMaximo;
}
c += Q*1f * Time.deltaTime;
transform.localScale = new Vector3 (c,c,c);
if (Dest == true) {Destroy (gameObject, 0.001f);
}
if (c >= TamnhoMaximo) {
GetComponent<Rigidbody> ().AddForce (transform.up * -V * Time.deltaTime);
if (PAI != null) {
PAI.GetComponent<Seguidor> ().Livre = true;
}
}
}
void OnCollisionEnter (Collision collision)
{
if (INIMIGO != null) {
if (collision.gameObject == INIMIGO.gameObject) {
Explosao = true;
Dest = true;
}
}
if (Destruidores1 != null) {
Explosao = true;
Dest = true;}
if (Destruidores2 != null) {
Explosao = true;
Dest = true;}
if (Destruidores3 != null) {
Explosao = true;
Dest = true;}
}}
Re: Erro com tag
Tente isto:
- Código:
using UnityEngine;
using System.Collections;
public class ATKExplosaoSolar : MonoBehaviour {
public float TamnhoMaximo ,Q,V;
public bool Dest,Explosao,EA;
public GameObject BOOM;
float c;
public GameObject Destruidores1, Destruidores2, Destruidores3,INIMIGO,PAI;
public string Tag1, Tag2, Tag3,TagInimigo,TagPai;
void Start(){
if (Tag1 != null) {
Destruidores1 = GameObject.FindWithTag (Tag1);
}
if (Tag2 != null) {
Destruidores2 = GameObject.FindWithTag (Tag2);
}
if (Tag3 != null) {
Destruidores3 = GameObject.FindWithTag (Tag3);
}
if (TagInimigo != null) {
INIMIGO = GameObject.FindWithTag (TagInimigo);
}
if (TagPai != null) {
PAI = GameObject.FindWithTag (TagPai);
}
}
void Update () {
if (Explosao == true&&EA==false) { Instantiate (BOOM, transform.position, transform.rotation);
Explosao = false;
EA = true;
}
if (c >=TamnhoMaximo) {
c = TamnhoMaximo;
}
c += Q*1f * Time.deltaTime;
transform.localScale = new Vector3 (c,c,c);
if (Dest == true) {Destroy (gameObject, 0.001f);
}
if (c >= TamnhoMaximo) {
GetComponent<Rigidbody> ().AddForce (transform.up * -V * Time.deltaTime);
if (PAI != null) {
PAI.GetComponent<Seguidor> ().Livre = true;
}
}
}
void OnCollisionEnter (Collision collision){
if (INIMIGO != null) {
if (collision.gameObject == INIMIGO.gameObject) {
Explosao = true;
Dest = true;
}
}
if (Destruidores1 != null) {
Explosao = true;
Dest = true;
}
if (Destruidores2 != null) {
Explosao = true;
Dest = true;
}
if (Destruidores3 != null) {
Explosao = true;
Dest = true;
}
}
}
Re: Erro com tag
Funcionou perfeitamente e nesse caso nao precisa ser no Update pq ninguem vai ser invocado assim tao rapido
Re: Erro com tag
Acontece o mesmo Comigo "Unity 5.4.1f1" Tenha Algumas tags, Derrepente ??? Sem Tags!
Desapareceu tudo, Ficou como Default!
Cade Minhas Tags????? Sumiram Todas!
Então Recomeço tudo de novo,Coloco Tag por Tag Certa, inicio o jogo ao Colidir da erro Dizendo que a Tag não Existe!
Bucha!
Desapareceu tudo, Ficou como Default!
Cade Minhas Tags????? Sumiram Todas!
Então Recomeço tudo de novo,Coloco Tag por Tag Certa, inicio o jogo ao Colidir da erro Dizendo que a Tag não Existe!
Bucha!
Re: Erro com tag
nossa que louco, esses eros devem ser um bug da unity tem que colocar sempre um
if (Objeo!=null){executa a açao } se nao da erro sempre parece que ele nao reconhece o objeto de cara.
if (Objeo!=null){executa a açao } se nao da erro sempre parece que ele nao reconhece o objeto de cara.
Re: Erro com tag
Não é erro da Unity, é erro na lógica de programação.
Em algum ponto a variável está ficando nula, ou seja, sem objeto de referência, e ai você está aplicando algum comando para esta variável, tipo, objeto.GetComponent..., mas quando a Unity tenta executar este comando, ela não encontra nenhum objeto na variável, e então da erro.
Em algum ponto a variável está ficando nula, ou seja, sem objeto de referência, e ai você está aplicando algum comando para esta variável, tipo, objeto.GetComponent..., mas quando a Unity tenta executar este comando, ela não encontra nenhum objeto na variável, e então da erro.
Re: Erro com tag
Pode ser mas como fazer isso de maneira certa ?
mas um dia eu apenas adicionei uma outra açao a mesma variavel antes nao dava erro e depois deu erro, pq nao mexi no objeto so adicionei um novo comando e pa deu erro e nao saia e cara avariavel tava la no espector selecionada e dizia que nao podia achar se isso nao é bug da unity entao é o capeta kkk, ai eu fechei e abri denovo e dai paro de daresse erro
mas um dia eu apenas adicionei uma outra açao a mesma variavel antes nao dava erro e depois deu erro, pq nao mexi no objeto so adicionei um novo comando e pa deu erro e nao saia e cara avariavel tava la no espector selecionada e dizia que nao podia achar se isso nao é bug da unity entao é o capeta kkk, ai eu fechei e abri denovo e dai paro de daresse erro
Re: Erro com tag
Esse bug aconteceu comigo várias vezes na 5.3 e 5.4. As tags sumiram do nada e apontou erro onde antes não apontava nada.
Por algum motivo ele perde a referência das tags no editor. As vezes rola o bug da tela de animação também.
Quando ocorrer isso, basta salvar para não perder o progresso da cena e projeto e reabrir ele. Tudo volta ao normal.
Por algum motivo ele perde a referência das tags no editor. As vezes rola o bug da tela de animação também.
Quando ocorrer isso, basta salvar para não perder o progresso da cena e projeto e reabrir ele. Tudo volta ao normal.
wischutz- Membro
- PONTOS : 3591
REPUTAÇÃO : 15
Respeito as regras :
Tópicos semelhantes
» erro erro e mais erro script de craft
» Bom dia, erro invisível como resolver? Erro -> [15:32:11]
» Erro ao abrir projeto ( Fatal Erro )
» ERRO NO SCRIPT UM UNICO ERRO
» Alguem pode resolver o erro desses scripts, resolver o erro deste pacote
» Bom dia, erro invisível como resolver? Erro -> [15:32:11]
» Erro ao abrir projeto ( Fatal Erro )
» ERRO NO SCRIPT UM UNICO ERRO
» Alguem pode resolver o erro desses scripts, resolver o erro deste pacote
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos