Menu
CoddyTech

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.

challenge icon

Desafio

Fácil

Faça o herói pular.

  1. Entre a linha da gravidade e move_and_slide(), adicione um if para Input.is_action_just_pressed("jump").
  2. Dentro dele, defina velocity.y como jump_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

Pratique por conta própria: Playground de Godot