Criando a gravidade no Scratch

Criando a gravidade no Scratch
Imagem de destaque #cover

Quero criar um jogo no Scratch com o objetivo de pular os zumbis que passam e ir ganhando pontos. Podemos ver o projeto sem o pulo do personagem neste link.

Porém, não queremos um pulo qualquer. Queremos um pulo com efeito da gravidade. No Scratch, não existe um efeito da gravidade padrão ou já implementado, assim como em outras linguagens como Unity, Godot ou Construct. Porém isso não significa que não podemos criar nosso próprio código da gravidade!

Para começar, vamos atribuir um valor à força que a gravidade fará sobre o nosso personagem. Como a gravidade leva nosso ator para baixo, seu valor deve ser negativo. Com o código mude gravidade para, vamos atribuir o valor -2.

Banner da Escola de Programação: Matricula-se na escola de Programação. Junte-se a uma comunidade de mais de 500 mil estudantes. Na Alura você tem acesso a todos os cursos em uma única assinatura; tem novos lançamentos a cada semana; desafios práticos. Clique e saiba mais!

Para deixar a gravidade parecida com a realidade, quando o personagem pular, conforme ele vai caindo, afinal a gravidade é uma aceleração, a velocidade varia. Precisamos criar mais uma variável chamada velocidade, e podemos mudar seu valor para 0, sempre que o jogo ligar.

Agora precisamos fazer nosso ator pular. No bloco de código que movimenta o personagem, vamos verificar se a tecla espaço está pressionada. Para não deixar o código que verifica as teclas pressionadas junto com o código que faz nosso personagem pular, podemos dividir as funções para manter o código organizado criando em Mais blocos, um novo chamado pular.

  No bloco pular, vamos mudar o valor da velocidade, para representar o tamanho do pulo do personagem. Vamos mudar para 25 por exemplo.

Como a força da gravidade nunca para, vamos incluir um código sempre e adicionar a y o valor da variável velocidade e adicionar na velocidade o valor da gravidade.

Vamos testar apertando a tecla espaço e ver o pulo do nosso ator?

O personagem pulou, vimos a ação da gravidade, porém, ele passou o chão!

Precisamos fazer nosso personagem parar quanto tocar no chão.  Para isso, vamos verificar se o personagem está tocando o chão. Se estiver, nós paramos esse script.

Vamos testar agora o pulo do personagem?

Agora ficou bem legal!

Portanto, vimos uma forma de implementar a gravidade em um jogo, utilizando o Scratch.

E ai, o que achou?

Você gostou do Scratch? Na Alura Start temos diversos cursos que usam o Scratch como ferramenta de desenvolvimento.

Lá você aprenderá como criar vários jogos usando a plataforma.

Você pode encontrar este projeto com a gravidade, clicando neste link.

Veja outros artigos sobre Programação