player.gd won't jump

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Exoph

Had to redo the project I was working on and now it refuses to let me jump. I’ve been going over the code for hours now but I can’t seem to find what’s wrong. GoDot isn’t even giving me any error

func _physics_process(_delta: float) -> void: var is_jump_interrupted: = Input.is_action_just_released("jump") and _velocity.y < 0.0 var direction: = get_direction() _velocity = calculate_move_velocity(_velocity, direction, speed, is_jump_interrupted) _velocity = move_and_slide(_velocity, FLOOR_NORMAL)

func get_direction() -> Vector2: return Vector2( Input.get_action_strength ("move_right") - Input.get_action_strength ("move_left"), -1.0 if Input.is_action_just_pressed("jump") and is_on_floor() else 1.0 )

func calculate_move_velocity( linear_velocity: Vector2, direction: Vector2, speed: Vector2, is_jump_interrupted: bool ) -> Vector2:

var out: = linear_velocity
out.x = speed.x * direction.x
out.y += gravity * get_physics_process_delta_time()
if direction.y == -1.0:
	out.y =  speed.y * direction.y
if is_jump_interrupted:
	out.y = 0.0
return out

I ran your code and it jumps fine. Can I see how you defined the variables in the script?

exuin | 2022-12-08 21:49

code symbols are bugging out

extends KinematicBody2D
class_name Actor

const FLOOR_NORMAL: = Vector2.UP
export var speed: = Vector2(300.0, 1000.0)
export var gravity: = 4000.0

var _velocity: = Vector2.ZERO


func _physics_process(delta: float) -> void:
_velocity.y += gravity * delta
_velocity =  move_and_slide(_velocity)

Exoph | 2022-12-08 22:04