Menu
CoddyTech

Correr y saltar

Parte de la sección Entrada y movimiento del Journey de Godot de Coddy. Lección 15 de 28.

El movimiento solo cambia velocity.x. La gravedad y el salto solo cambian velocity.y. Así que separa las dos componentes:

velocity.x = Input.get_axis("move_left", "move_right") * speed

No establezcas toda la velocidad, así:

velocity = Vector2(Input.get_axis("move_left", "move_right") * speed, 0)

Esa línea establece velocity.y en 0 en cada fotograma. Borra la velocidad de caída y el salto, así que el héroe flota.

challenge icon

Desafío

Fácil

Haz que el héroe corra mientras cae y salta.

  1. Antes de move_and_slide(), asigna a velocity.x el resultado de multiplicar Input.get_axis("move_left", "move_right") por speed.
  2. Deja que la gravedad y el salto controlen velocity.y.

Pulsa «Jugar»: el héroe corre a 220 píxeles por segundo y puede saltar hacia arriba y a la derecha. Después, pulsa «Comprobar».

Pruébalo tú mismo

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
	move_and_slide()

Todas las lecciones de Entrada y movimiento

Practica por tu cuenta: Playground de Godot