edge anim!

This commit is contained in:
pennyrigate 2023-06-22 16:19:57 -04:00
parent 9439d0313c
commit 70fdeff1ca
2 changed files with 83 additions and 1 deletions

View file

@ -53,6 +53,7 @@ onready var death_splatter_position: Position2D = $"%DeathSplatterPosition"
onready var pushable_detector: RayCast2D = $"%PushableDetector" onready var pushable_detector: RayCast2D = $"%PushableDetector"
onready var oxygen_timer = $OxygenTimer onready var oxygen_timer = $OxygenTimer
onready var low_oxygen_label = $LowOxygenLabel onready var low_oxygen_label = $LowOxygenLabel
onready var edge_detector = $Graphics/EdgeDetector
# OVERRIDES # # OVERRIDES #
func _ready() -> void: func _ready() -> void:
@ -257,12 +258,17 @@ func _on_Respawn_state_entered() -> void:
graphics.visible = true graphics.visible = true
state_chart.call_deferred("send_event", "get_real") state_chart.call_deferred("send_event", "get_real")
func _on_Edge_state_entered():
animation_player.play("edge")
# STATE PROCESSING # # STATE PROCESSING #
## when on ground ## when on ground
func _process_grounded(delta: float) -> void: func _process_grounded(delta: float) -> void:
# make sure is_on_floor detected still # make sure is_on_floor detected still
velocity.y = 1.0 velocity.y = 1.0
#play edge sprite if hanging of edge
if !edge_detector.is_colliding():
state_chart.send_event("edge")
## called when player can move left and rightpass # Repass # Rpass # Replace with function body.eplace with function body.place with function body. ## called when player can move left and rightpass # Repass # Rpass # Replace with function body.eplace with function body.place with function body.
func _process_horizontal_movement(delta: float) -> void: func _process_horizontal_movement(delta: float) -> void:
@ -395,3 +401,5 @@ func _on_Ducking_event_received(event):
func _on_OxygenTimer_timeout(): func _on_OxygenTimer_timeout():
if underwater: die() if underwater: die()

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=48 format=2] [gd_scene load_steps=50 format=2]
[ext_resource path="res://objects/player/player.gd" type="Script" id=1] [ext_resource path="res://objects/player/player.gd" type="Script" id=1]
[ext_resource path="res://graphics/player/palettes/default.png" type="Texture" id=2] [ext_resource path="res://graphics/player/palettes/default.png" type="Texture" id=2]
@ -26,6 +26,7 @@
[ext_resource path="res://graphics/player/sg_duck.png" type="Texture" id=24] [ext_resource path="res://graphics/player/sg_duck.png" type="Texture" id=24]
[ext_resource path="res://ui/2ndpuberty_outline.tres" type="Material" id=25] [ext_resource path="res://ui/2ndpuberty_outline.tres" type="Material" id=25]
[ext_resource path="res://graphics/player/sg_jump_ladder.png" type="Texture" id=26] [ext_resource path="res://graphics/player/sg_jump_ladder.png" type="Texture" id=26]
[ext_resource path="res://graphics/player/sg_edge.png" type="Texture" id=27]
[sub_resource type="ShaderMaterial" id=1] [sub_resource type="ShaderMaterial" id=1]
shader = ExtResource( 3 ) shader = ExtResource( 3 )
@ -308,6 +309,59 @@ tracks/3/keys = {
"values": [ 0.0 ] "values": [ 0.0 ]
} }
[sub_resource type="Animation" id=22]
resource_name = "edge"
length = 0.4
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Graphics/Sprite:texture")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ ExtResource( 27 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Graphics/Sprite:hframes")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 4 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Graphics/Sprite:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0, 0.1, 0.2, 0.3 ),
"transitions": PoolRealArray( 1, 1, 1, 1 ),
"update": 1,
"values": [ 0, 1, 2, 3 ]
}
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=15] [sub_resource type="Animation" id=15]
resource_name = "fall" resource_name = "fall"
length = 0.001 length = 0.001
@ -927,6 +981,11 @@ position = Vector2( 3, -4 )
cast_to = Vector2( 1, 0 ) cast_to = Vector2( 1, 0 )
collision_mask = 4 collision_mask = 4
[node name="EdgeDetector" type="RayCast2D" parent="Graphics"]
position = Vector2( 1, 0 )
enabled = true
cast_to = Vector2( 0, 4 )
[node name="BodyShape" type="CollisionShape2D" parent="."] [node name="BodyShape" type="CollisionShape2D" parent="."]
position = Vector2( 0.5, -5 ) position = Vector2( 0.5, -5 )
shape = SubResource( 2 ) shape = SubResource( 2 )
@ -960,6 +1019,7 @@ anims/blink = SubResource( 18 )
anims/climb = SubResource( 9 ) anims/climb = SubResource( 9 )
anims/double_jump = SubResource( 12 ) anims/double_jump = SubResource( 12 )
anims/duck = SubResource( 20 ) anims/duck = SubResource( 20 )
anims/edge = SubResource( 22 )
anims/fall = SubResource( 15 ) anims/fall = SubResource( 15 )
anims/fall_scared = SubResource( 14 ) anims/fall_scared = SubResource( 14 )
anims/idle = SubResource( 6 ) anims/idle = SubResource( 6 )
@ -1050,6 +1110,11 @@ script = ExtResource( 10 )
to = NodePath("../../Walking") to = NodePath("../../Walking")
event = "walk_start" event = "walk_start"
[node name="On Edge" type="Node" parent="StateChart/Root/Movement/Grounded/CanWalk/Still"]
script = ExtResource( 10 )
to = NodePath("../../Edge")
event = "edge"
[node name="On Timeout" type="Node" parent="StateChart/Root/Movement/Grounded/CanWalk/Still"] [node name="On Timeout" type="Node" parent="StateChart/Root/Movement/Grounded/CanWalk/Still"]
script = ExtResource( 10 ) script = ExtResource( 10 )
to = NodePath("../../Blinking") to = NodePath("../../Blinking")
@ -1085,6 +1150,14 @@ script = ExtResource( 10 )
to = NodePath("../../Walking") to = NodePath("../../Walking")
event = "walk_start" event = "walk_start"
[node name="Edge" type="Node" parent="StateChart/Root/Movement/Grounded/CanWalk"]
script = ExtResource( 11 )
[node name="On WalkStart" type="Node" parent="StateChart/Root/Movement/Grounded/CanWalk/Edge"]
script = ExtResource( 10 )
to = NodePath("../../Walking")
event = "walk_start"
[node name="Ducking" type="Node" parent="StateChart/Root/Movement/Grounded"] [node name="Ducking" type="Node" parent="StateChart/Root/Movement/Grounded"]
script = ExtResource( 11 ) script = ExtResource( 11 )
@ -1337,6 +1410,7 @@ align = 1
[connection signal="state_entered" from="StateChart/Root/Movement/Grounded/CanWalk/Walking" to="." method="_on_Walking_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Grounded/CanWalk/Walking" to="." method="_on_Walking_state_entered"]
[connection signal="state_entered" from="StateChart/Root/Movement/Grounded/CanWalk/Blinking" to="." method="_on_Blinking_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Grounded/CanWalk/Blinking" to="." method="_on_Blinking_state_entered"]
[connection signal="state_entered" from="StateChart/Root/Movement/Grounded/CanWalk/Stimming" to="." method="_on_Stimming_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Grounded/CanWalk/Stimming" to="." method="_on_Stimming_state_entered"]
[connection signal="state_entered" from="StateChart/Root/Movement/Grounded/CanWalk/Edge" to="." method="_on_Edge_state_entered"]
[connection signal="event_received" from="StateChart/Root/Movement/Grounded/Ducking" to="." method="_on_Ducking_event_received"] [connection signal="event_received" from="StateChart/Root/Movement/Grounded/Ducking" to="." method="_on_Ducking_event_received"]
[connection signal="state_entered" from="StateChart/Root/Movement/Grounded/Ducking" to="." method="_on_Ducking_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Grounded/Ducking" to="." method="_on_Ducking_state_entered"]
[connection signal="state_entered" from="StateChart/Root/Movement/Grounded/Shooting" to="." method="_on_Shooting_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Grounded/Shooting" to="." method="_on_Shooting_state_entered"]