В Godot 4 метод move_and_slide() был изменен. Теперь он не принимает аргументов, а использует внутреннее свойство velocity объекта CharacterBody2D.
extends CharacterBody2D
var speed = 250
var jumpForce = 500
var fallForce = 750
func _physics_process(delta):
# Сбрасываем горизонтальную скорость
velocity.x = 0
if Input.is_action_pressed("player_left"):
velocity.x -= speed
elif Input.is_action_pressed("player_right"): # Исправлено с "player_left" на "player_right"
velocity.x += speed
# Применяем гравитацию
if not is_on_floor():
velocity.y += fallForce * delta
# Прыжок
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = -jumpForce
move_and_slide()