Buscar

Lógica de programação_ comece em lógica com o jogo Pong e Javascript_ Aula 3 - Atividade 4 Colisão com a raquete _ Alura - Cursos online de tecnologia

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

19/12/22, 22:56 Lógica de programação: comece em lógica com o jogo Pong e Javascript: Aula 3 - Atividade 4 Colisão com a raquete | Alura - …
https://cursos.alura.com.br/course/pong-javascript/task/56100 1/2
04
Colisão com a raquete
COPIAR CÓDIGO
Transcrição
Já �zemos com que a raquete se movimente por meio das setas do teclado! E
para que o jogo funcione, descomentaremos movimentaBolinha() e testaremos
novamente. A bolinha parece ultrapassar a raquete, ignorando sua existência,
o que pode ser percebido com maior clareza se diminuirmos a velocidade da
bolinha. Além disso, poderemos comentar a linha yBolinha +=
velocidadeYBolinha , para que o movimento só aconteça no eixo X.
Assim como no Scratch, queremos criar uma colisão entre a raquete e a
bolinha, portanto criaremos a função verificaColisaoRaquete() , que
chamaremos dentro de draw() e será bem parecida com o que temos em
verificaColisaoBorda() .
function verificaColisaoRaquete() {
 if (xBolinha - raio < xRaquete + raqueteComprimento) {
 velocidadeXBolinha *= -1;
 }
}
A colisão funciona bem, então testaremos posicionar a raquete para cima do
nível em que a bolinha se locomove horizontalmente. Mesmo sem tocar a
raquete, ela deixa de tocar a borda lateral esquerda. O mesmo acontece se
mantivermos a raquete abaixo do nível de locomoção horizontal da bolinha.
19/12/22, 22:56 Lógica de programação: comece em lógica com o jogo Pong e Javascript: Aula 3 - Atividade 4 Colisão com a raquete | Alura - …
https://cursos.alura.com.br/course/pong-javascript/task/56100 2/2
COPIAR CÓDIGO
Isto acontece pois de�nimos que se xBolinha - raio < xRaquete +
raqueteComprimento , a bolinha deverá mudar de direção. Não especi�camos a
posição de Y da bolinha em relação à posição de Y da nossa raquete. Para isso,
não precisaremos criar um if para veri�car se a bolinha está acima, ou
abaixo da raquete.
Queremos inverter a velocidade de X caso haja colisão, portanto incluiremos
mais duas veri�cações:
function verificaColisaoRaquete() {
 if (xBolinha - raio < xRaquete + raqueteComprimento
 && yBolinha - raio < yRaquete + raqueteAltura
 && yBolinha + raio > yRaquete) {
 velocidadeXBolinha *= -1;
 }
}
Agora que conseguimos corrigir isso, voltaremos a velocidade da bolinha para
6 e descomentaremos todos os trechos de código que estavam comentados.

Continue navegando