more work on wall running

This commit is contained in:
derek
2025-06-16 15:10:44 -05:00
parent d1bc5d28d5
commit 942ab25abf
4 changed files with 20 additions and 9 deletions

View File

@@ -43,6 +43,7 @@ func start_wall_running():
print("SURFACE NORMAL : ", running_surface_normal)
character.wall_run_direction = wall_run_direction
character.wall_run_surface_normal = running_surface_normal
Transitioned.emit(self,"wall running")
if running_surface_normal:
character.wall_run_direction = wall_run_direction
character.wall_run_surface_normal = running_surface_normal
Transitioned.emit(self,"wall running")

View File

@@ -7,15 +7,24 @@ func Physics_Update(delta):
else:
wall_run_movement(delta)
apply_gravity(delta)
if Input.is_action_just_pressed("jump"):
wall_jump()
enable_wall_rays()
if !can_wall_run():
Transitioned.emit(self,"in air")
func wall_jump():
character.velocity += (Vector3(0,1,0) + character.wall_run_surface_normal).normalized() * 10
character.velocity += (Vector3(0,1,0) + character.wall_run_direction).normalized() * 15
Transitioned.emit(self,"in air")
func wall_run_movement(delta):
if Input.is_action_pressed("move_up"):
character.velocity.x = lerp(character.velocity.x,character.wall_run_direction.x * move_speed,delta * 7)
character.velocity.z = lerp(character.velocity.z,character.wall_run_direction.z * move_speed,delta * 7)
character.velocity.x = lerp(character.velocity.x,character.wall_run_direction.x * move_speed,delta * move_transition_speed)
character.velocity.z = lerp(character.velocity.z,character.wall_run_direction.z * move_speed,delta * move_transition_speed)
else:
Transitioned.emit(self,"in air")
func wall_run_gravity(delta):
character.velocity.y -= 9.8 * .75 * delta