allow switching sides of ladder (implements #212)

This commit is contained in:
Haze Weathers 2023-11-25 19:02:35 -05:00
parent cb6a9e13f4
commit 8299648c98
3 changed files with 23 additions and 1 deletions

View file

@ -267,10 +267,11 @@ func _on_Climbing_state_entered() -> void:
if ladder_dir >= 0.0 != flip:
global_position.x = _attached_ladder.left_snap
graphics.scale.x = 1.0
animation_player.play("climb")
else:
global_position.x = _attached_ladder.right_snap
graphics.scale.x = -1.0
animation_player.play("climb")
animation_player.play("climb")
func _on_Climbing_state_exited() -> void:
_attached_ladder = null
@ -453,6 +454,12 @@ func _process_climbing(delta: float) -> void:
# if sign(_attached_ladder.middle - global_position.x) != horizontal_dir:
# global_position.x -= graphics.scale.x * 3.0
# state_chart.send_event("ladder_detach")#
elif Input.is_action_just_pressed("move_left") and _attached_ladder.can_climb_left:
global_position.x = _attached_ladder.left_snap
graphics.scale.x = 1.0
elif Input.is_action_just_pressed("move_right") and _attached_ladder.can_climb_right:
global_position.x = _attached_ladder.right_snap
graphics.scale.x = -1.0
else:
var ladder_dir = sign(_attached_ladder.middle - global_position.x)
if ladder_dir >= 0.0:

View file

@ -815,6 +815,18 @@ tracks/2/keys = {
"update": 1,
"values": [ 0, 1, 2, 3, 4, 5, 6, 7 ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("Graphics/Sprite:rotation_degrees")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.0 ]
}
[sub_resource type="Animation" id=11]
resource_name = "shoot_airborne"