Erro na transição de cena
2 participantes
Página 1 de 1
Erro na transição de cena
Olá,
Estou com um problema em um desenvolvimento na unity,
Estou tentando implementar uma transiçaõ de cena atravez do click em um botão.
a Cena é trocada porem os gameobjects da cena anterior causam um erro na nova cena, ja que eles não existem mais (an nova cena) e gera
a seguinte mensagem:
**NullReferenceException: Object reference not set to an instance of an object**
não sei se deu pra intender muito bem o problema, qualquer coisa dou mais especificações;
Estou com um problema em um desenvolvimento na unity,
Estou tentando implementar uma transiçaõ de cena atravez do click em um botão.
a Cena é trocada porem os gameobjects da cena anterior causam um erro na nova cena, ja que eles não existem mais (an nova cena) e gera
a seguinte mensagem:
**NullReferenceException: Object reference not set to an instance of an object**
não sei se deu pra intender muito bem o problema, qualquer coisa dou mais especificações;
fernando.OVS- Iniciante
- PONTOS : 1145
REPUTAÇÃO : 1
Respeito as regras :
Re: Erro na transição de cena
Esse erro pode acontecer por alguns motivos, pelo que entendi você transporta objetos de uma cena para outra, certo?
Parece estar faltando componentes instanciados em algum script que está sendo carregado de uma cena para a outra, pode ser isso. Então tente ver se no momento em que você carrega a cena, se está faltando componentes em algum de seus scripts.
Podem ser componentes que você instancia no inspector, ou componentes privados não visíveis no inspector.
Parece estar faltando componentes instanciados em algum script que está sendo carregado de uma cena para a outra, pode ser isso. Então tente ver se no momento em que você carrega a cena, se está faltando componentes em algum de seus scripts.
Podem ser componentes que você instancia no inspector, ou componentes privados não visíveis no inspector.
Charlesoff- MembroAvançado
- PONTOS : 1782
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras :
Re: Erro na transição de cena
Sendo assim, se você não pretende usar mais esses componentes nesta nova cena, no script você pode por alguma verificação.
Assim:
Assim:
- Código:
[SerializeField]private GameObject myObj;
void Update()
{
if(myObj)
{
}
}
Charlesoff- MembroAvançado
- PONTOS : 1782
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras :
Re: Erro na transição de cena
mais ou menos isso que vc disse na primeira resposta Charles.
Seguinte:
Estou na cena A e criei um botão para trocar para a cena B atraves do loadscene("cenaB").
a cena A possui X gamesObjts que são exclusivos para serem usados na cena A, estes gamesObjts são captados via scripts, com o metodo gameobject.find("nomeDoGameObjt"),
esses gameObjts não existem na cena B.
esta acontecendo que ao trocar de cena, o script que carrega os objts ainda procura os objts que só existem na cena A intende ?, dae vem o erro. Porem, eu não preciso destes objts na cena B. Preciso que a cena seja transportada sem que o codigo seja recarregado na cena.
Seguinte:
Estou na cena A e criei um botão para trocar para a cena B atraves do loadscene("cenaB").
a cena A possui X gamesObjts que são exclusivos para serem usados na cena A, estes gamesObjts são captados via scripts, com o metodo gameobject.find("nomeDoGameObjt"),
esses gameObjts não existem na cena B.
esta acontecendo que ao trocar de cena, o script que carrega os objts ainda procura os objts que só existem na cena A intende ?, dae vem o erro. Porem, eu não preciso destes objts na cena B. Preciso que a cena seja transportada sem que o codigo seja recarregado na cena.
fernando.OVS- Iniciante
- PONTOS : 1145
REPUTAÇÃO : 1
Respeito as regras :
Re: Erro na transição de cena
Você pode usar este exemplo que botei acima, ele verifica se o objeto existe.
Mais um exemplo:
Mais um exemplo:
- Código:
void Update()
{
var player = GameObject.FindWithTag("Player");
if(player)
{
//Aqui você declara oq vai usar na cena A
}
}
Charlesoff- MembroAvançado
- PONTOS : 1782
REPUTAÇÃO : 40
Áreas de atuação : Game dev
Respeito as regras :
Re: Erro na transição de cena
Obrigado, não fiz exatamente desta forma, mas essa solução que propôs foi muito eficaz.
eu criei uma condição que verifica primeiro se a cena que estou é a que vou precisar dos gameObjts, se sim, só então que carrego os mesmos, é quase a mesma coisa que vc quis dizer eu acho.
Ficou tipo asism:
{
var cena = SceneManager.GetActiveScene().buildIndex;
if(cena == a)
{
var player = GameObject.FindWithTag("Player");
}
}
De qualquer forma, muito obrigado.
eu criei uma condição que verifica primeiro se a cena que estou é a que vou precisar dos gameObjts, se sim, só então que carrego os mesmos, é quase a mesma coisa que vc quis dizer eu acho.
Ficou tipo asism:
{
var cena = SceneManager.GetActiveScene().buildIndex;
if(cena == a)
{
var player = GameObject.FindWithTag("Player");
}
}
De qualquer forma, muito obrigado.
fernando.OVS- Iniciante
- PONTOS : 1145
REPUTAÇÃO : 1
Respeito as regras :
Tópicos semelhantes
» CAMERA BUGANDO NA TRANSIÇÃO DE CENA
» Erro de perder controle da câmera ao conectar um jogador a cena
» Ajuda com O Script de coletar objetos e transição de cena
» Loja no inicio da cena, sem que apareça novamente nos restarts da cena
» [ERRO] Infelizmente APP Parou (NÃO CARREGA A CENA)
» Erro de perder controle da câmera ao conectar um jogador a cena
» Ajuda com O Script de coletar objetos e transição de cena
» Loja no inicio da cena, sem que apareça novamente nos restarts da cena
» [ERRO] Infelizmente APP Parou (NÃO CARREGA A CENA)
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos