Menu
CoddyTech
flag Pt iconPortuguêsdown icon

Salto Variável

Parte da seção Entrada e movimento do Journey de Godot da Coddy. Lição 16 de 28.

Na maioria dos jogos de plataforma, um toque dá um pequeno salto, enquanto manter o botão pressionado dá um salto completo.

Para fazer isso, interrompa o salto quando o botão for solto. Input.is_action_just_released("jump") é verdadeiro no único quadro em que a tecla é solta. Se o personagem ainda estiver subindo nesse momento, reduza pela metade sua velocidade para cima:

if Input.is_action_just_released("jump") and velocity.y < 0:
	velocity.y = velocity.y / 2

velocity.y < 0 significa que o personagem ainda está subindo. Sem essa condição, soltar a tecla durante a descida reduziria a velocidade da queda.

Se você mantiver a tecla pressionada até passar pelo ponto mais alto do salto, nada será interrompido.

challenge icon

Desafio

Médio

Faça um toque rápido em jump para dar um pequeno salto. Quando a tecla for solta enquanto o herói ainda estiver subindo, divida velocity.y pela metade. Manter a tecla pressionada ainda permite o salto completo.

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
	velocity.x = Input.get_axis("move_left", "move_right") * speed
	move_and_slide()
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Playground de Godot