Почему при прыжке в 2д платформере персонаж будто бы телепортируется, а не плавно летит вверх?

Понятия не имею, что здесь может быть не так

extends KinematicBody2D

onready var ANIM = get_node("AnimatedSprite")

func _physics_process(delta):

var vel = Vector2()

var GRAV = 6000 * delta
var JUMP = 4000
var SPEED = 120
var FLOOR = Vector2.UP

if Input.is_action_pressed("left"):
    vel.x -= SPEED
    ANIM.play("run") 
    ANIM.flip_h = false
elif Input.is_action_pressed("right"):
    vel.x += SPEED
    ANIM.play("run")
    ANIM.flip_h = true
else:
    vel.x = 0
    ANIM.play("stay")

if not is_on_floor():
    ANIM.play("fly")

if Input.is_action_pressed("up") and is_on_floor():
    vel.y -= JUMP
    
vel.y += GRAV

move_and_slide(vel, FLOOR)

Ответы (1 шт):

Автор решения: coder737

Требуется в vel.y -= JUMP добавить * delta

vel.y -= JUMP * delta
→ Ссылка