Files
JumpRopeOldTech/player_2d.gd
T
2026-10-16 21:37:07 -05:00

81 lines
1.7 KiB
GDScript

extends CharacterBody2D
const SPEED = 380.0
const GRAVITY_MULT = 0.8
const JUMP_VELOCITY = -410.0
var fall_timer = 0.0
var teleport_cooldown = 0
var jumps = 0
var death_threshold = 1000
func _ready() -> void:
pass
func refresh_jump(new_jumps):
if jumps:
jumps = new_jumps
else:
jumps = 1
teleport_cooldown = 0
func on_teleport():
refresh_jump(1)
teleport_cooldown = 1
$Camera2D.position_smoothing_enabled = true
func _process(delta: float) -> void:
if Input.is_action_just_pressed("jump"):
if is_on_floor():
velocity.y = JUMP_VELOCITY
elif !is_on_floor() and jumps >= 1:
jumps -= 1
velocity.y = JUMP_VELOCITY
if Input.is_action_pressed("jump") and is_on_wall_only():
print("WALL HANGING")
#velocity.y = 0
#velocity.x = 0
var direction = Input.get_axis("move_left","move_right")
if direction < 0:
$Sprite2D.flip_h = true
elif direction > 0:
$Sprite2D.flip_h = false
if direction:
velocity.x = direction * SPEED
else:
velocity.x = move_toward(velocity.x, 0, SPEED)
print("PLAYER X POSITION: " + str(position.y))
if position.y >= death_threshold:
print("SLASH KILL")
get_tree().reload_current_scene()
fall_timer += 1*delta
if is_on_floor():
fall_timer = 0
refresh_jump(1)
#%Player2D.get_node("Camera2D").position_smoothing_speed = %Player2D.CAMERA_SMOOTHING_SPEED
if is_on_wall():
refresh_jump(1)
#%Player2D.get_node("Camera2D").position_smoothing_speed = %Player2D.CAMERA_SMOOTHING_SPEED
if is_on_ceiling():
refresh_jump(1)
if fall_timer > 3:
pass
#get_tree().reload_current_scene()
func _physics_process(delta: float) -> void:
if not is_on_floor():
velocity += (get_gravity() * GRAVITY_MULT) * delta
move_and_slide()