added wall running

This commit is contained in:
derek
2025-06-16 14:46:03 -05:00
parent 50d8935b4b
commit d1bc5d28d5
7 changed files with 67 additions and 16 deletions

View File

@@ -15,3 +15,34 @@ func standard_movement(delta):
func apply_gravity(delta):
character.velocity.y -= 9.8 * 1.25 * delta
func enable_wall_rays():
if Input.is_action_pressed("move_left"):
character.wall_ray_1.enabled = true
else:
character.wall_ray_1.enabled = false
if Input.is_action_pressed("move_right"):
character.wall_ray_2.enabled = true
else:
character.wall_ray_2.enabled = false
func can_wall_run():
if character.wall_ray_1.is_colliding() or character.wall_ray_2.is_colliding() or character.wall_ray_3.is_colliding():
return true
func start_wall_running():
var running_surface_normal
var wall_run_direction
if character.wall_ray_1.is_colliding():
running_surface_normal = character.wall_ray_1.get_collision_normal()
wall_run_direction = running_surface_normal.rotated(Vector3(0,1,0), deg_to_rad(90))
elif character.wall_ray_2.is_colliding():
running_surface_normal = character.wall_ray_2.get_collision_normal()
wall_run_direction = running_surface_normal.rotated(Vector3(0,-1,0), deg_to_rad(90))
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")