Não entendi a necessidade do Script nessa aula, a musica toca sem o Script, o objeeto AudioSource criado nao entendi o que ele esta mudando e nem porque nao cria ele na instancia direto statico.
Não entendi a necessidade do Script nessa aula, a musica toca sem o Script, o objeeto AudioSource criado nao entendi o que ele esta mudando e nem porque nao cria ele na instancia direto statico.
Olá, Yan! Tudo bem?
A aula pode ter parecido um pouco confusa, mas vamos esclarecer suas dúvidas.
O script criado na aula pretende controlar o áudio do jogo. Embora a música possa tocar sem o script, a ideia é que tenhamos um controle mais refinado sobre quando e como os sons são reproduzidos.
O objeto AudioSource
é responsável por emitir o som no jogo. Ele pode ser associado a diferentes clipes de áudio e controlado através do script. A razão para não criar o AudioSource
como uma instância estática diretamente é que queremos ter a flexibilidade de alterar o clipe de áudio que está sendo reproduzido.
Vamos entender melhor com um exemplo.
Imagine que você tenha diferentes sons para quando um zumbi é atingido, quando o jogador atira e quando o jogador é atingido. Se você tivesse um AudioSource
estático para cada um desses sons, teria que gerenciar vários AudioSources
. Em vez disso, o que o script faz é ter um único AudioSource
(meuAudioSource) e alterar o clipe de áudio que está sendo reproduzido.
Portanto, o script ControlaAudio
serve para gerenciar o AudioSource
. Ele armazena uma referência ao AudioSource
no jogo (meuAudioSource) e também fornece uma instância estática (instância) que pode ser acessada a partir de qualquer outro script. Isso é útil porque permite que você mude o som que está sendo reproduzido a partir de qualquer lugar do seu código.
Espero ter ajudado e bons estudos!