Conceitos essenciais: SFX, Música e “mixagem” no Construct
Em um jogo 2D, o áudio costuma ser dividido em duas categorias principais:
- SFX (Sound Effects): sons curtos e reativos (pulo, coleta, dano, clique).
- Música: trilhas longas, geralmente em loop, que definem clima e ritmo.
No Construct, você controla áudio via o objeto/plug-in de Audio (ações como tocar, parar, definir volume, pausar, etc.). A “mixagem básica” é o conjunto de boas práticas para manter o som claro: volumes coerentes por categoria, evitar sobreposição excessiva e garantir que música e efeitos não “briguem” entre si.
Boas práticas rápidas (o que você vai aplicar neste capítulo)
- Use tags para separar categorias (ex.:
"sfx"e"music") e controlar volume por grupo. - Pré-carregue sons importantes para evitar atraso na primeira execução.
- Evite spam de SFX: limite repetição (cooldown), não toque o mesmo som várias vezes no mesmo frame.
- Loop de música controlado: tocar uma vez por layout e não reiniciar a cada evento.
- Persistência de volume: guarde as preferências do jogador (variáveis globais e/ou Local Storage).
Importação e formatos: como preparar seus arquivos
Formatos recomendados
- SFX: geralmente
.wav(qualidade alta, arquivo maior) ou.ogg(bom equilíbrio). Para web,.oggcostuma ser eficiente. - Música:
.oggé uma escolha comum por compressão e loop mais leve.
Dica prática: mantenha nomes consistentes e descritivos, por exemplo: sfx_jump, sfx_coin, sfx_hit, music_level1.
Importando no Construct
- Abra o painel de Project.
- Procure por Sounds e Music (pastas/categorias do projeto).
- Importe SFX em Sounds e trilhas em Music.
- Verifique se os arquivos estão com volume “cru” razoável (evite arquivos já estourados/clipados).
Pré-carregamento: evitando atraso no primeiro play
Alguns navegadores/dispositivos podem atrasar o primeiro toque do áudio (principalmente em jogos web). Para reduzir isso, pré-carregue no início do layout ou em uma tela de carregamento.
Passo a passo: pré-carregar sons essenciais
- No Event Sheet do layout inicial (ou do layout do jogo), crie o evento: On start of layout.
- Adicione ações do Audio para Preload (ou equivalente) dos arquivos mais usados: pulo, coleta, dano e a música do layout.
Se o seu projeto tiver muitos sons, pré-carregue apenas os do “contexto atual” (por exemplo, os do nível atual) para não aumentar o tempo de carregamento.
- Ouça o áudio com a tela desligada
- Ganhe Certificado após a conclusão
- + de 5000 cursos para você explorar!
Baixar o aplicativo
Tocar, parar, loop e controle por tags
Tags: a base para mixagem por categoria
Ao tocar um som, defina uma tag. Exemplo de padrão:
- Todos os efeitos: tag
"sfx" - Todas as músicas: tag
"music"
Assim, você consegue ajustar volume de todos os SFX de uma vez, sem ter que mexer som por som.
Passo a passo: tocar música de fundo por layout (com loop)
- No Event Sheet do layout do nível, crie: On start of layout.
- Ação: Audio → Play (selecione
music_level1), configure Loop = Yes, e defina Tag = "music". - Para evitar reiniciar música ao voltar para o layout (ou ao pausar), use uma checagem: se a música já estiver tocando, não toque de novo.
Uma forma comum é usar uma variável global booleana (ex.: MusicStarted) ou checar se existe instância tocando na tag "music" (quando disponível no Construct/plug-in).
Passo a passo: tocar SFX por triggers (pulo, coleta, dano)
O ideal é acionar SFX em eventos do tipo “gatilho” (trigger), para tocar uma vez por ação.
| Ação do jogo | Evento recomendado | SFX | Tag |
|---|---|---|---|
| Pulo | Quando o jogador inicia o pulo (ex.: apertou botão e está no chão) | sfx_jump | "sfx" |
| Coleta | No momento em que o item é coletado (antes de destruir) | sfx_coin | "sfx" |
| Dano | No momento em que a vida diminui / recebe hit | sfx_hit | "sfx" |
Exemplo de lógica (em linguagem de eventos, sem código):
- Pulo: no evento em que você aplica a força/velocidade do pulo, adicione Audio → Play
sfx_jumpcom tag"sfx". - Coleta: no evento de colisão com o coletável, antes de destruir o item, toque
sfx_coincom tag"sfx". - Dano: no evento que reduz HP, toque
sfx_hitcom tag"sfx".
Parar e pausar áudio (casos comuns)
- Pause do jogo: você pode pausar a música (tag
"music") e manter alguns SFX de UI (cliques) funcionando. - Game Over/Vitória: pare a música atual e toque uma trilha específica (ou um stinger curto).
- Troca de layout: se cada layout tem sua música, pare a tag
"music"ao sair e toque a nova ao entrar.
Mixagem básica: volumes por categoria e evitando sobreposição
Definindo volumes padrão
Trabalhe com uma escala consistente (por exemplo, 0 a 1, ou 0 a 100, dependendo de como você preferir controlar). Um ponto de partida comum:
- Música: 30% a 60% do volume máximo
- SFX: 60% a 100% (depende do estilo)
O objetivo é: música presente, mas SFX sempre audíveis.
Passo a passo: controlar volume por tag
- Crie duas variáveis globais numéricas:
VolMusiceVolSFX. - Defina valores iniciais (ex.:
VolMusic = 0.5,VolSFX = 0.8). - No On start of layout (ou em um evento de inicialização global), aplique: Audio → Set volume (tag) para
"music"usandoVolMusic, e para"sfx"usandoVolSFX.
Importante: sempre que o jogador mudar o volume na UI, atualize imediatamente o volume da tag correspondente.
Evitando sobreposição excessiva (anti-spam de SFX)
Problema típico: um evento de colisão ou dano pode disparar várias vezes em sequência, tocando o mesmo som repetidamente e gerando “metralhadora” de áudio.
Soluções práticas:
- Cooldown por ação: crie uma variável (ex.:
CanPlayHitSFX) ou use um timer para permitir tocar o som apenas a cada X ms. - Não tocar se já está tocando: para sons longos, verifique se o som com aquela tag/nome ainda está em reprodução (quando disponível) e evite reiniciar.
- Use variações: tenha 2–3 arquivos de “hit” e escolha aleatoriamente para reduzir repetição perceptível.
Exemplo de cooldown (ideia de eventos): 1) Ao receber dano: se CanPlayHitSFX = true → tocar sfx_hit (tag "sfx"), set CanPlayHitSFX = false, iniciar timer 0.2s 2) Ao timer 0.2s: set CanPlayHitSFX = trueAcionando sons por triggers: padrões prontos para usar
Padrão 1: som no “momento exato” da ação
- Pulo: no mesmo evento em que você altera a velocidade/estado para “pulando”.
- Coleta: no mesmo evento em que soma pontos e destrói o item.
- Dano: no mesmo evento em que reduz HP e aplica invencibilidade temporária/knockback.
Esse padrão evita atrasos e garante que o som represente o feedback do gameplay.
Padrão 2: som por estado (com cuidado)
Às vezes você quer tocar um som quando entra em um estado (ex.: “morrendo”, “power-up”). Nesse caso, use uma condição de “entrou no estado agora” (por exemplo, uma variável de estado anterior) para não tocar a cada frame.
UI de volume: controles para Música e SFX
Estrutura recomendada
Crie um pequeno menu com:
- Um controle de Volume Música (slider ou botões -/+)
- Um controle de Volume SFX (slider ou botões -/+)
- Um botão Mute opcional (por categoria ou geral)
Se você já tem um layout de opções, coloque esses controles nele. Se o volume precisa ser ajustável durante o jogo, você pode abrir um painel de opções por cima (camada de UI).
Passo a passo: botões -/+ (simples e rápido)
- Crie dois botões para música:
MusicMinuseMusicPlus, e dois para SFX:SfxMinuseSfxPlus. - Crie um texto para exibir os valores (ex.:
txtMusicVol,txtSfxVol). - Ao clicar em
MusicPlus: aumenteVolMusic(ex.: +0.1), limite entre 0 e 1, e aplique Audio → Set volume (tag "music"). - Ao clicar em
MusicMinus: diminuaVolMusic(ex.: -0.1), limite entre 0 e 1, e aplique o volume. - Repita para SFX com a tag
"sfx". - Atualize os textos para mostrar o valor (ex.: 0–100%).
Regras de clamp (ideia): VolMusic = clamp(VolMusic, 0, 1) VolSFX = clamp(VolSFX, 0, 1)Passo a passo: slider (mais “polido”)
Se você preferir slider, a lógica é: a posição do “knob” define o volume. Ao arrastar, converta X (posição) em um valor 0–1 e aplique na tag correspondente. O ponto-chave é sempre atualizar VolMusic/VolSFX e aplicar Set volume (tag) em tempo real.
Persistência durante a execução: mantendo volumes consistentes
Persistência simples (durante a sessão)
Se VolMusic e VolSFX forem variáveis globais, elas permanecem enquanto o jogo estiver rodando, mesmo trocando de layout. Garanta que, ao iniciar um layout, você reaplique os volumes nas tags (especialmente se você tocar uma nova música).
Persistência entre sessões (opcional, recomendado)
Para o jogador não precisar ajustar volume toda vez que abrir o jogo, use Local Storage:
- Ao iniciar o jogo, carregue
VolMusiceVolSFXdo armazenamento (se existir). - Quando o jogador alterar volume, salve os novos valores.
Se não existir valor salvo, use os padrões e salve na primeira alteração.
Exercício guiado: música por layout, SFX de ações e menu de volume persistente
Objetivo
- Adicionar música de fundo em loop no layout do nível.
- Adicionar SFX para pulo, coleta e dano.
- Criar um menu de volume (música e SFX) que funcione durante a execução e mantenha os valores ao trocar de layout.
Checklist de assets
music_level1.oggsfx_jump.oggsfx_coin.oggsfx_hit.ogg
Parte 1: música de fundo por layout
- No layout do nível, no evento On start of layout, toque
music_level1com Loop = Yes e Tag = "music". - Logo após, aplique o volume atual: Set volume (tag "music") = VolMusic.
- Se você troca de layout e a música deve mudar, pare a tag
"music"ao sair do layout anterior (ou no start do novo layout antes de tocar a nova).
Parte 2: SFX de pulo, coleta e dano (com tags)
- Pulo: no evento que inicia o pulo, toque
sfx_jumpcom tag"sfx". - Coleta: no evento de coleta, toque
sfx_coincom tag"sfx"antes de destruir o item. - Dano: no evento que reduz HP, toque
sfx_hitcom tag"sfx". Se necessário, adicione cooldown de 0.2s para evitar repetição. - Após tocar qualquer SFX, garanta que o volume da tag
"sfx"esteja aplicado (normalmente basta manter atualizado quando o jogador muda na UI).
Parte 3: menu de volume persistente durante a execução
- Crie variáveis globais:
VolMusiceVolSFX(0 a 1). - Crie uma camada/painel de opções com botões
MusicMinus,MusicPlus,SfxMinus,SfxPluse textos de valor. - Ao clicar nos botões, ajuste a variável, aplique Set volume (tag) e atualize o texto.
- Garanta que ao iniciar qualquer layout você aplique: Set volume (tag "music") = VolMusic e Set volume (tag "sfx") = VolSFX.
- (Opcional) Adicione Local Storage: ao mudar volume, salve; ao iniciar o jogo, carregue e aplique.
Teste rápido (o que verificar)
- A música inicia uma vez e fica em loop sem reiniciar indevidamente.
- Pulo toca exatamente uma vez por pulo.
- Coleta toca uma vez por item coletado.
- Dano não “metralha” o som ao encostar no inimigo (se encostar várias vezes, o cooldown segura).
- Alterar volume de música não afeta SFX, e vice-versa.
- Ao trocar de layout, os volumes continuam corretos.