Pular para Cima
Parte da seção Entrada e movimento do Journey de Godot da Coddy. Lição 13 de 28.
Para pular, defina velocity.y como uma velocidade alta para cima no quadro em que o jogador pressiona jump. Para cima corresponde a um valor menor de y, então o número é negativo:
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump"):
velocity.y = jump_velocity
move_and_slide()Você não precisa programar a descida. A gravidade continua somando valores a velocity.y, então o herói desacelera enquanto sobe, para no ponto mais alto e cai de volta.
Use is_action_just_pressed, não is_action_pressed. Se a tecla ficasse pressionada, a velocidade seria definida como -500 em todos os quadros, e o herói sairia da tela voando.
Desafio
FácilFaça o herói pular.
- Entre a linha da gravidade e
move_and_slide(), adicione umifparaInput.is_action_just_pressed("jump"). - Dentro dele, defina
velocity.ycomojump_velocity.
Pressione “Jogar” e aperte Espaço: o herói pula e aterrissa novamente, e manter Espaço pressionado não faz com que ele saia voando. Depois, clique em “Verificar”.
Experimente você mesmo
extends CharacterBody2D
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
move_and_slide()
Todas as lições de Entrada e movimento
3Gravidade e Salto
Cair com a GravidadePular para CimaSomente do ChãoCorrer e PularSalto VariávelPulo DuploPratique por conta própria: Playground de Godot