1
resposta

[Dúvida] Código da Última instância

Olá, Eu gostaria de entender um pouco melhor o código. Algumas dúvidas são:

  • Um objeto com 'Dont Destroy on Load' roda o método Start? e roda tb o Awake? E se sim, ele roda "antes" to mesmo método dos outros objetos 'Pontuação' que foram criados ao iniciar a nova cena?
  • Em qual ordem os objetos rodam o código? Pq se eles rodassem todos "ao mesmo tempo"(eu sei que é impossível), todos destruiriam seus pares ao mesmo tempo, não sobrando ninguém.
  • Afinal, qual GameObject Pontuação está sobrevivendo, o mesmo do início, ou sempre um novo que é criado sobrevive, destruindo os demais?

Obrigado.

1 resposta

Olá Francisco, tudo bem?

Peço desculpas pela demora em obter um retorno

Vou tentar ajudá-lo com suas dúvidas sobre o código. Vamos lá:

  • Quando um objeto é marcado com 'Dont Destroy on Load', ele não é destruído quando uma nova cena é carregada. Portanto, o método Start é executado apenas uma vez, quando o objeto é criado. Já o método Awake é executado sempre que o objeto é criado ou recriado, mesmo que a cena não tenha sido recarregada. Portanto, se o objeto já existir na cena, o Awake não será executado novamente.

  • A ordem em que os objetos executam o código depende do fluxo de execução do Unity. O método Awake é chamado primeiro para todos os objetos da cena, independentemente de terem 'DontDestroyOnLoad' ou não. Em seguida, o método Start é chamado em cada objeto na ordem em que eles foram ativados.

  • Ao marcar um objeto com 'DontDestroyOnLoad', você garante que ele permaneça ativo e não seja destruído ao carregar uma nova cena. Isso significa que o objeto "Pontuação" marcado com 'DontDestroyOnLoad' terá seu estado preservado entre as cenas, incluindo o valor da pontuação. Se houver outros objetos "Pontuação" na cena que não foram marcados com 'DontDestroyOnLoad', eles serão destruídos quando uma nova cena for carregada. Portanto, apenas o objeto "Pontuação" marcado continuará existindo e mantendo seu estado durante todo o jogo.

Espero ter ajudado, qualquer dúvida, me coloco à disposição! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!