make player physics manipulatable

This commit is contained in:
Haze Weathers 2023-02-06 15:18:34 -05:00
parent 2fd0a5c519
commit ac3248a912

View file

@ -3,6 +3,13 @@ extends KinematicBody2D
const ArrowProjectile = preload("res://objects/player/arrow_projectile.tscn") const ArrowProjectile = preload("res://objects/player/arrow_projectile.tscn")
##CLEAN UP CODE LATER ##CLEAN UP CODE LATER
##Movement
export var walk_speed = 50
export var gravity = 12
export var max_fall_speed = INF
export var jump_time = 15
export var jump_force = 150
export var doublejump_force = 122
##Children ##Children
onready var sprite = $Sprite onready var sprite = $Sprite
onready var climb_ray = $ClimbRay onready var climb_ray = $ClimbRay
@ -21,12 +28,8 @@ var axis = Vector2.ZERO #Current direction being held
var trail_color = Color(0.25,0,1,0.4) var trail_color = Color(0.25,0,1,0.4)
#Physics #Physics
var velocity = Vector2.ZERO var velocity = Vector2.ZERO
var walk_speed = 50
var gravity = 12
var jump_pressure = 0
var jump_force = 150
var doublejump_force = 122
var current_ladder = null #Used for checking climbing every frame instead of area entered var current_ladder = null #Used for checking climbing every frame instead of area entered
var jump_pressure = 0
var can_doublejump = true var can_doublejump = true
var can_move_in_air = false var can_move_in_air = false
var transport_speed = 0.0 var transport_speed = 0.0
@ -79,7 +82,7 @@ func _physics_process(delta):
#Gravity #Gravity
if current_state != State.CLIMB: if current_state != State.CLIMB:
velocity.y += gravity velocity.y = min(velocity.y + gravity, max_fall_speed)
#Cut y velocity when hitting ceiling #Cut y velocity when hitting ceiling
if is_on_ceiling(): if is_on_ceiling():
current_state = State.FALL current_state = State.FALL
@ -126,7 +129,7 @@ func _process_idle_walk():
func _process_jump(): func _process_jump():
jump_pressure += 1 jump_pressure += 1
#Pressure sensitive jump #Pressure sensitive jump
if jump_pressure == 15 or Input.is_action_just_released("jump"): if jump_pressure >= jump_time or Input.is_action_just_released("jump"):
velocity.y = -jump_force / 4 velocity.y = -jump_force / 4
#velocity.y = 0 #velocity.y = 0
current_state = State.FALL current_state = State.FALL