Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Gerenciador de Som | Interface e Sons no Unity
Unity para Iniciantes
course content

Conteúdo do Curso

Unity para Iniciantes

Unity para Iniciantes

1. Introdução ao Unity
2. Escreva seu Primeiro Script
3. Física no Unity
4. Interface e Sons no Unity
5. Polindo e Exportando seu Jogo

book
Gerenciador de Som

Inicialização do Singleton no Unity:

No Unity, muitas vezes precisamos que certos gerenciadores ou controladores persistam entre cenas, como um gerenciador de som. A classe SoundManager é projetada como um Singleton para garantir que haja apenas uma instância dela durante toda a vida útil do jogo. Veja como é usada no Unity:

Instância Única: A linha public static SoundManager instance; declara uma variável estática instance do tipo SoundManager. Esta variável mantém a única instância da classe SoundManager.

Inicialização no Método Start(): No método Start(), que é chamado automaticamente pelo Unity quando o GameObject ao qual este script está anexado se torna ativo, a instância Singleton é inicializada.

Se a instância for nula, significando que nenhuma instância de SoundManager existe ainda, a instância atual (this) é atribuída à instância, efetivamente tornando este objeto a instância singleton.

Se instance não for nula, significa que outra instância de SoundManager já existe (o que não deveria acontecer em um padrão Singleton). Nesse caso, o GameObject atual (esta instância) é destruído (Destroy(gameObject)) para reforçar o padrão Singleton.

DontDestroyOnLoad(gameObject) garante que o GameObject (e assim, a instância do SoundManager) persista entre mudanças de cena. Isso é crucial para manter o mesmo estado de áudio em diferentes cenas.

Acessando a Instância Singleton:

Uma vez que o SoundManager está configurado como um Singleton, outros scripts podem facilmente acessar sua funcionalidade ao longo do jogo: Outros scripts podem acessar a instância do SoundManager usando SoundManager.instance. Por exemplo, para reproduzir um efeito de áudio, outro script pode chamar SoundManager.instance.PlayEffect(index). Dessa forma, qualquer script no jogo pode acessar a instância do SoundManager e sua funcionalidade sem precisar criar múltiplas instâncias ou se preocupar com inicialização.

Vantagens no Unity:

Usar o padrão Singleton no Unity, especialmente para gerenciadores como o SoundManager, oferece vários benefícios:

Gerenciamento Centralizado: Ele fornece um ponto central para gerenciar a funcionalidade relacionada ao som, facilitando o controle e a manutenção da reprodução de áudio em todo o jogo.

Acesso Global: A instância Singleton pode ser acessada globalmente de qualquer script, permitindo que diferentes partes do jogo interajam com o sistema de som de forma contínua.

Persistência: A instância Singleton persiste entre cenas, garantindo uma reprodução de áudio consistente em todo o jogo sem interrupção durante as mudanças de cena.

1. Qual é o propósito da variável de instância na classe SoundManager?
2. O que o DontDestroyOnLoad(gameObject) faz na classe SoundManager?
Qual é o propósito da variável de instância na classe SoundManager?

Qual é o propósito da variável de instância na classe SoundManager?

Selecione a resposta correta

O que o DontDestroyOnLoad(gameObject) faz na classe SoundManager?

O que o DontDestroyOnLoad(gameObject) faz na classe SoundManager?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 5
We're sorry to hear that something went wrong. What happened?
some-alt