Pulo Duplo
Parte da seção Entrada e movimento do Journey de Godot da Coddy. Lição 17 de 28.
Um salto duplo permite que o herói salte mais uma vez no ar. is_on_floor() não permite isso, então o herói conta seus saltos.
Mantenha a contagem em uma variável. Defina-a como 2 enquanto o herói estiver no chão e subtraia um a cada salto:
var jumps_left = 0
func _physics_process(delta):
velocity.y += gravity * delta
if is_on_floor():
jumps_left = 2
if Input.is_action_just_pressed("jump") and jumps_left > 0:
velocity.y = jump_velocity
jumps_left -= 1O primeiro salto faz com que jumps_left fique em 1, e o salto no ar faz com que fique em 0. Um terceiro pressionamento não faz nada. Ao aterrissar, o valor volta para 2.
Desafio
MédioFaça o herói dar um pulo duplo.
- Adicione
var jumps_left = 0no início e defina-o como2enquantois_on_floor(). - Pule quando
jumps_left > 0em vez deis_on_floor()e subtraia um dejumps_left.
Pressione “Jogar”: o herói pula duas vezes antes de aterrissar, nunca três. Depois, pressione “Verificar”.
Experimente você mesmo
extends CharacterBody2D
var speed = 220
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocity
if Input.is_action_just_released("jump") and velocity.y < 0:
velocity.y = velocity.y / 2
velocity.x = Input.get_axis("move_left", "move_right") * speed
move_and_slide()
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
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