Construct do Zero: Áudio no Construct (SFX, Música e Mixagem Básica)

Capítulo 13

Tempo estimado de leitura: 10 minutos

+ Exercício

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, .ogg costuma 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

  1. Abra o painel de Project.
  2. Procure por Sounds e Music (pastas/categorias do projeto).
  3. Importe SFX em Sounds e trilhas em Music.
  4. 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

  1. No Event Sheet do layout inicial (ou do layout do jogo), crie o evento: On start of layout.
  2. 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.

Continue em nosso aplicativo e ...
  • Ouça o áudio com a tela desligada
  • Ganhe Certificado após a conclusão
  • + de 5000 cursos para você explorar!
ou continue lendo abaixo...
Download App

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)

  1. No Event Sheet do layout do nível, crie: On start of layout.
  2. Ação: Audio → Play (selecione music_level1), configure Loop = Yes, e defina Tag = "music".
  3. 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 jogoEvento recomendadoSFXTag
PuloQuando o jogador inicia o pulo (ex.: apertou botão e está no chão)sfx_jump"sfx"
ColetaNo momento em que o item é coletado (antes de destruir)sfx_coin"sfx"
DanoNo momento em que a vida diminui / recebe hitsfx_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_jump com tag "sfx".
  • Coleta: no evento de colisão com o coletável, antes de destruir o item, toque sfx_coin com tag "sfx".
  • Dano: no evento que reduz HP, toque sfx_hit com 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

  1. Crie duas variáveis globais numéricas: VolMusic e VolSFX.
  2. Defina valores iniciais (ex.: VolMusic = 0.5, VolSFX = 0.8).
  3. No On start of layout (ou em um evento de inicialização global), aplique: Audio → Set volume (tag) para "music" usando VolMusic, e para "sfx" usando VolSFX.

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 = true

Acionando 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)

  1. Crie dois botões para música: MusicMinus e MusicPlus, e dois para SFX: SfxMinus e SfxPlus.
  2. Crie um texto para exibir os valores (ex.: txtMusicVol, txtSfxVol).
  3. Ao clicar em MusicPlus: aumente VolMusic (ex.: +0.1), limite entre 0 e 1, e aplique Audio → Set volume (tag "music").
  4. Ao clicar em MusicMinus: diminua VolMusic (ex.: -0.1), limite entre 0 e 1, e aplique o volume.
  5. Repita para SFX com a tag "sfx".
  6. 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:

  1. Ao iniciar o jogo, carregue VolMusic e VolSFX do armazenamento (se existir).
  2. 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.ogg
  • sfx_jump.ogg
  • sfx_coin.ogg
  • sfx_hit.ogg

Parte 1: música de fundo por layout

  1. No layout do nível, no evento On start of layout, toque music_level1 com Loop = Yes e Tag = "music".
  2. Logo após, aplique o volume atual: Set volume (tag "music") = VolMusic.
  3. 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)

  1. Pulo: no evento que inicia o pulo, toque sfx_jump com tag "sfx".
  2. Coleta: no evento de coleta, toque sfx_coin com tag "sfx" antes de destruir o item.
  3. Dano: no evento que reduz HP, toque sfx_hit com tag "sfx". Se necessário, adicione cooldown de 0.2s para evitar repetição.
  4. 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

  1. Crie variáveis globais: VolMusic e VolSFX (0 a 1).
  2. Crie uma camada/painel de opções com botões MusicMinus, MusicPlus, SfxMinus, SfxPlus e textos de valor.
  3. Ao clicar nos botões, ajuste a variável, aplique Set volume (tag) e atualize o texto.
  4. Garanta que ao iniciar qualquer layout você aplique: Set volume (tag "music") = VolMusic e Set volume (tag "sfx") = VolSFX.
  5. (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.

Agora responda o exercício sobre o conteúdo:

Ao organizar o áudio do jogo no Construct, qual abordagem ajuda a controlar o volume separadamente de música e SFX e manter uma mixagem básica mais clara?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Separar áudio por tags (ex.: "music" e "sfx") permite aplicar Set volume (tag) por categoria, mantendo volumes coerentes e evitando que música e efeitos “briguem” entre si.

Próximo capitúlo

Construct do Zero: Sistema de Fases, Spawns e Progressão

Arrow Right Icon
Capa do Ebook gratuito Construct do Zero: Desenvolvendo Jogos 2D Sem Programar (com Eventos)
72%

Construct do Zero: Desenvolvendo Jogos 2D Sem Programar (com Eventos)

Novo curso

18 páginas

Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.