Colisões e som#
Estamos quase finalizando nosso conteúdo básico de jogos! Faltam só dois elementos para conseguirmos um jogo que tenha todos os elementos básicos no lugar:
- Som: bons efeitos gráficos e trilha sonora são essenciais. A Pygame já tem alguns recursos de uso fácil para trabalhar com sons.
- Colisões: todo jogo precisa saber quando dois objetos se sobrepõem. Pode ser tanto para evitar que personagens atravessem paredes como para checar se encostaram em um inimigo ou mesmo se acertaram algum golpe.
Vamos examinar esses dois temas no dia de hoje.
Colisões#
Ao detectar colisões o formato dos objetos faz toda a diferença. As maneiras mais simples de detectar se houve colisão são envolver o objeto em círculos ou retângulos e checar por colisões entre essas formas. Vamos começar com dois exercícios simples: checar se o usuário clicou em um círculo e em um retângulo
Exercise 1
Como quase nenhum objeto de um jogo é um ponto, precisamos de algo que nos permita representar mais situações. A colisão entre retângulos é bastante rápida e funciona bem em muitos casos simples.
Exercise 2
Agora que entendemos um pouco melhor colisões podemos aproveitar as funções que a própria pygame nos oferece.
Exercise 3
Answer
Usamos a função colliderect
para isto. Podemos fazer tanto r1.colliderect(r2)
quanto r2.colliderect(r1)
.
Volte nos exercícios anteriores e faça uma nova versão usando as funções da Pygame.
Som#
A utilização de recursos de som é bastante simples em Pygame. O exemplo de código abaixo carrega um arquivo de áudio e toca ele.
Exercise 4
Answer
Assim como todos recursos do jogo, o carregamento deve ser feito na função inicializa
e o recurso deve ser guardado no dicionário assets
para poder ser usado nas outras funções do jogo.
Exercise 5
Answer
A checagem de colisões acontece em atualiza_estado
, logo podemos por a função que inicia a reprodução do som também em atualiza_estado
.
Ativiade final - Semana 1#
Para finalizar nossa primeira semana vamos propor a criação de um jogo simples.
Os recursos do jogo e a estrutura básica estão disponíveis no exercício Finalizando semana 1. Verifique seu trabalho usando as animações presentes na descrição do jogo.