Módulo 7 · Aula 7.3 · Som e música no jogo
| Carga horária | Dificuldade | Ferramenta | Competências |
|---|---|---|---|
| 4 h/a | ⭐⭐ | GDevelop 5 | C2, C4 |
Objetivos de aprendizagem
- Diferenciar música de fundo e efeito sonoro, e escolher o volume de cada um.
- Tocar música em loop num canal e parar quando o jogador desligar.
- Tocar um efeito sonoro em cada acontecimento importante e escrever a legenda dele.
- Registrar a origem e a licença de cada som.
Pré-requisitos
Aula 3.10 (som no GDevelop). Aula 7.2.
Materiais
Computador com o GDevelop e fones de ouvido (um por aluno, se possível); A Feira do Troco.
Conceitos
Música e efeito. A música dá o clima e toca o tempo todo, baixinha. O efeito sonoro avisa que algo aconteceu (moeda, acerto, erro) e é curto. Na Feira: música com volume 35, efeitos entre 60 e 70.
Canal de música. O GDevelop toca músicas em canais numerados. Tocar a música no canal 1 permite depois perguntar "a música do canal 1 está tocando?" e "parar a música do canal 1".
Não tocar de novo a cada quadro. A ação de tocar dentro de um evento sem condição roda 60 vezes por segundo. Na Feira, a música só começa se a opção estiver ligada e ela ainda não estiver tocando (condição invertida).
Recurso de música. Arquivos longos usados como música ficam marcados como música nos recursos do projeto, para carregar do jeito certo. Na Feira, sons/musica.wav é um loop de 8 segundos sintetizado pelo script do curso.
Cada som tem uma legenda. Quem não ouve (ou joga sem som, na sala) precisa saber que algo aconteceu. Na Feira, todo efeito pede uma legenda: [moedas tilintando], [sino de acerto], [som de erro]. A Aula 7.6 mostra como ela aparece só se o jogador quiser.
Licença. Som da internet só entra com licença que permite (Aula 5.6, licenças). O mais seguro é o som feito pela turma (Aula 7.4).
Exemplos
| Momento | Som na Feira | Por quê |
|---|---|---|
| clicar numa moeda | tilintar curto e agudo | confirma o clique sem atrapalhar |
| troco certo | 4 notas subindo | sensação de vitória |
| troco errado | 2 notas descendo | aviso, sem ser assustador |
| opções | clique curto | confirma que a opção mudou |
Tutorial passo a passo
Parte A. Ouvir e comparar (40 min)
- Jogue a Feira com fones. Depois desligue a música (tecla O, depois 5). O jogo fica diferente? Anote.
- Abra Título (Eventos) e ache os eventos de música (captura do título).
Parte B. Música em canal (60 min)
No seu projeto (ou numa cópia da Feira):
- Adicione um arquivo de música ao projeto.
- Evento com a condição A variável
Musica= 1 e a condição Um arquivo de música está sendo reproduzido no canal 1 invertida → ação Reproduzir um arquivo de música em um canal: canal 1, loop sim, volume 35. - Evento:
Musica= 0 → Parar a música em um canal, canal 1. - Uma tecla que faz
Musica= 1 -Musica. Teste ligar e desligar.
Parte C. Efeitos e legendas (60 min)
- Liste os 4 a 6 acontecimentos mais importantes do seu jogo.
- Para cada um: Reproduzir um som com volume entre 60 e 70, e, logo abaixo, uma ação que guarda a legenda numa variável de texto (
LegendaNova). - Preencha a ficha de sons: acontecimento, arquivo, volume, legenda, origem, licença.
Parte D. Teste (20 min)
- Jogue sem som e depois sem olhar a tela (só ouvindo). Em qual dos dois você entende melhor o que está acontecendo? O que falta?
Imagens
../../../recursos/imagens/gdevelop/captura-feira-titulo-eventos.png
: eventos de música no Título.../../../recursos/imagens/gdevelop/captura-feira-eventos-5.png
: cada moeda toca o som e pede a legenda.
Indicação da interface
| Item | Texto que aparece no evento |
|---|---|
| tocar música num canal | "Reproduzir a música sons/musica.wav no canal 1, vol.: 35, loop: sim" |
| parar | "Parar a música do canal 1" |
| perguntar se toca | "Música no canal 1 está tocando" (invertida aparece com o sinal de "não") |
| efeito | "Reproduzir o som sons/moeda.wav, vol.: 60, loop: não" |
| inverter uma condição | clique com o botão direito na condição e escolha inverter (nome exato da opção não conferido) |
O código completo
Musica = 1 e NÃO (música no canal 1 está tocando)
→ Reproduzir a música sons/musica.wav no canal 1, vol. 35, loop sim
Musica = 0
→ Parar a música do canal 1
Passo = "troco" e tecla Num1
→ TrocoDado + 200
→ Reproduzir o som sons/moeda.wav, vol. 60
→ LegendaNova = "[moedas tilintando]"Explicação do código
- A condição invertida evita começar a música de novo a cada quadro, o que faria um chiado.
- Os eventos de música estão nas quatro cenas. Ao trocar de cena, o GDevelop para os sons (opção da cena), e o primeiro quadro da cena nova começa a música outra vez.
- A legenda vai para uma variável e não direto para o texto, porque quem decide mostrar é a opção Legendas (Aula 7.6).
Resultado esperado
Música que liga e desliga sem repetir, um efeito para cada acontecimento importante e a ficha de sons preenchida.
Problemas comuns
| Sintoma | Causa | Solução |
|---|---|---|
| música com chiado ou começando sem parar | tocar música sem condição, todo quadro | condição "está tocando" invertida |
| música alta tapa os efeitos | volumes iguais | música entre 30 e 40, efeitos entre 60 e 80 |
| som não toca na primeira vez no navegador | o navegador só libera som depois do primeiro clique ou tecla | normal; o jogo começa com uma tecla |
| som de 5 segundos para um clique | arquivo sem cortar | cortar no Audacity (Aula 7.4) |
Exercício guiado
Por que a Feira usa canal para a música e não para os efeitos? (Resposta: a música precisa ser parada e conferida depois; o efeito toca uma vez e acaba sozinho.)
Desafio individual
Faça a música trocar na tela de Fim: uma música para "acertou tudo" e outra para "errou algum".
Desafio avançado (opcional)
Use Alterar o volume da música em um canal para abaixar a música enquanto um personagem fala e voltar depois (o nome exato da ação não foi conferido nesta versão).
Critérios de avaliação
- Música em loop que liga e desliga.
- Efeito para cada acontecimento importante, com volume coerente.
- Ficha de sons com origem e licença.
Checklist de conclusão
Extensão
Música: grave o ritmo de um baião batendo na mesa e compare com a música da Feira (baixo marcado em dois tempos).