Índice:
Vídeo: Aprendendo a animar no Scratch, parte 6: Colisão simples 2024
A colisão é o coração da maioria dos videogames. Se é Pac-Man colidindo com um fantasma rosa, Mario pulando em uma plataforma ou seu personagem pegando uma nova ferramenta no Minecraft, um designer de jogos decide o que acontecerá quando ocorrer cada colisão.
Que colisões o seu jogo Flappy Bat precisa detectar? O morcego toca o tubo? O morcego toca o chão? Se ocorrer alguma colisão, o que deve ocorrer? O jogo deve terminar.
Detectar colisão com o sprite de terra
-
Clique no sprite de terra e, em seguida, clique na guia Scripts.
-
Arraste os seguintes blocos para a Área de Scripts e selecione Player no bloco TOUCHING.
-
Clique no botão Bandeira Verde.
Se o jogador flutuar no chão, o jogo deve terminar assim que eles colidem.
Geralmente, você colocará um bloco IF THEN dentro de um bloco FOREVER para que o programa continue verificando se a condição é verdadeira ou falsa e age de acordo (como um pai que continua observando você para garantir que você termine sua lição de casa antes de permitir que você atire o Xbox ou a PlayStation). Agora o seu programa continua verificando se o Sprite do Jogador está tocando o sprite Ground no instante em que o botão Green Flag é pressionado até que a colisão cause o bloco STOP ALL para terminar o jogo.
Como você precisará do mesmo código no sprite Pipe, você pode economizar tempo copiando os blocos de código.
Copie blocos do Ground to Pipe
Clique no bloco superior (WHEN GREEN FLAG CLICKED) e arraste os blocos da Área de Scripts diretamente para o ícone Pipe Sprite abaixo do Palco.
Depois de soltar o botão do mouse / trackpad, você deve ver o código original encaixar novamente na guia Scripts. Se você clicar no ícone Pipe Sprite abaixo do Palco, você deve encontrar o código que foi copiado lá.
Se os novos blocos se sobrepõem ao código anterior, clique e arraste o bloco superior para a direita ou abaixo do outro código.
O arrastar o bloco superior move todos os blocos conectados. Se você arrastar um bloco do meio, apenas os blocos quebrados por baixo permanecem conectados.
Clique no botão Bandeira verde, e você deve achar que o jogo termina quando o sprite do jogador toca o sprite Pipe ou o sprite Ground.