more work on wall running
This commit is contained in:
@@ -158,7 +158,8 @@ script = ExtResource("5_m0ick")
|
|||||||
|
|
||||||
[node name="Wall Running" type="Node" parent="States"]
|
[node name="Wall Running" type="Node" parent="States"]
|
||||||
script = ExtResource("6_1npgd")
|
script = ExtResource("6_1npgd")
|
||||||
move_speed = 20.0
|
move_speed = 15.0
|
||||||
|
move_transition_speed = 15.0
|
||||||
|
|
||||||
[node name="Ground Pound" type="Node" parent="States"]
|
[node name="Ground Pound" type="Node" parent="States"]
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ config_version=5
|
|||||||
|
|
||||||
config/name="First Person Test"
|
config/name="First Person Test"
|
||||||
config/tags=PackedStringArray("fps")
|
config/tags=PackedStringArray("fps")
|
||||||
run/main_scene="uid://b55ukxds1s7ih"
|
run/main_scene="uid://dsw00ml8rv6xo"
|
||||||
config/features=PackedStringArray("4.4", "Forward Plus")
|
config/features=PackedStringArray("4.4", "Forward Plus")
|
||||||
config/icon="uid://6svuq1l83al5"
|
config/icon="uid://6svuq1l83al5"
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ func start_wall_running():
|
|||||||
|
|
||||||
print("SURFACE NORMAL : ", running_surface_normal)
|
print("SURFACE NORMAL : ", running_surface_normal)
|
||||||
|
|
||||||
|
if running_surface_normal:
|
||||||
character.wall_run_direction = wall_run_direction
|
character.wall_run_direction = wall_run_direction
|
||||||
character.wall_run_surface_normal = running_surface_normal
|
character.wall_run_surface_normal = running_surface_normal
|
||||||
Transitioned.emit(self,"wall running")
|
Transitioned.emit(self,"wall running")
|
||||||
|
|||||||
@@ -7,15 +7,24 @@ func Physics_Update(delta):
|
|||||||
else:
|
else:
|
||||||
wall_run_movement(delta)
|
wall_run_movement(delta)
|
||||||
|
|
||||||
apply_gravity(delta)
|
|
||||||
|
|
||||||
|
if Input.is_action_just_pressed("jump"):
|
||||||
|
wall_jump()
|
||||||
|
|
||||||
|
enable_wall_rays()
|
||||||
if !can_wall_run():
|
if !can_wall_run():
|
||||||
Transitioned.emit(self,"in air")
|
Transitioned.emit(self,"in air")
|
||||||
|
|
||||||
func wall_jump():
|
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):
|
func wall_run_movement(delta):
|
||||||
if Input.is_action_pressed("move_up"):
|
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.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 * 7)
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user