feat: stretch animations jump/land, jump sound

This commit is contained in:
Jakob Feldmann 2023-09-05 15:15:51 +02:00
parent cc75d5dc4a
commit 53e8620c8c
4 changed files with 246 additions and 63 deletions

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=129 format=2]
[gd_scene load_steps=142 format=2]
[ext_resource path="res://assets/effects/blobby-effects-spritesheet.png" type="Texture" id=1]
[ext_resource path="res://src/Actors/Blobby/DeathShader.tres" type="Material" id=2]
@ -11,7 +11,7 @@
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=9]
[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 14.9127, 5.98593 )
extents = Vector2( 12.9698, 8.9748 )
[sub_resource type="StreamTexture" id=62]
load_path = "res://.import/blobby-spritesheet.png-205c8efc79bec685345a637ed2dcfc9b.stex"
@ -59,6 +59,18 @@ blend_point_0/pos = -1.0
blend_point_1/node = SubResource( 115 )
blend_point_1/pos = 1.0
[sub_resource type="AnimationNodeAnimation" id=227]
animation = "jumpStretchLeft"
[sub_resource type="AnimationNodeAnimation" id=228]
animation = "jumpStretch"
[sub_resource type="AnimationNodeBlendSpace1D" id=223]
blend_point_0/node = SubResource( 227 )
blend_point_0/pos = -1.0
blend_point_1/node = SubResource( 228 )
blend_point_1/pos = 1.0
[sub_resource type="AnimationNodeAnimation" id=117]
animation = "jumpToFallLeft"
@ -83,6 +95,19 @@ blend_point_0/pos = -1.0
blend_point_1/node = SubResource( 124 )
blend_point_1/pos = 1.0
[sub_resource type="AnimationNodeAnimation" id=217]
animation = "landStretchLeft"
[sub_resource type="AnimationNodeAnimation" id=218]
animation = "landStretch"
[sub_resource type="AnimationNodeBlendSpace1D" id=219]
blend_point_0/node = SubResource( 217 )
blend_point_0/pos = -1.0
blend_point_1/node = SubResource( 218 )
blend_point_1/pos = 1.0
snap = 1.0
[sub_resource type="AnimationNodeAnimation" id=144]
animation = "runToJumpLeft"
@ -169,16 +194,11 @@ snap = 1.0
switch_mode = 2
auto_advance = true
[sub_resource type="AnimationNodeStateMachineTransition" id=147]
priority = 5
[sub_resource type="AnimationNodeStateMachineTransition" id=148]
switch_mode = 2
auto_advance = true
priority = 0
[sub_resource type="AnimationNodeStateMachineTransition" id=149]
[sub_resource type="AnimationNodeStateMachineTransition" id=150]
switch_mode = 2
priority = 0
@ -195,6 +215,7 @@ switch_mode = 2
auto_advance = true
[sub_resource type="AnimationNodeStateMachineTransition" id=154]
priority = 2
[sub_resource type="AnimationNodeStateMachineTransition" id=155]
@ -210,9 +231,6 @@ priority = 2
[sub_resource type="AnimationNodeStateMachineTransition" id=160]
[sub_resource type="AnimationNodeStateMachineTransition" id=161]
priority = 2
[sub_resource type="AnimationNodeStateMachineTransition" id=162]
priority = 2
@ -220,13 +238,7 @@ priority = 2
switch_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id=164]
priority = 2
[sub_resource type="AnimationNodeStateMachineTransition" id=165]
switch_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id=166]
switch_mode = 2
priority = 4
[sub_resource type="AnimationNodeStateMachineTransition" id=167]
xfade_time = 0.1
@ -276,41 +288,69 @@ auto_advance = true
[sub_resource type="AnimationNodeStateMachineTransition" id=203]
[sub_resource type="AnimationNodeStateMachineTransition" id=161]
priority = 2
[sub_resource type="AnimationNodeStateMachineTransition" id=220]
priority = 2
[sub_resource type="AnimationNodeStateMachineTransition" id=221]
switch_mode = 2
auto_advance = true
[sub_resource type="AnimationNodeStateMachineTransition" id=222]
switch_mode = 2
auto_advance = true
[sub_resource type="AnimationNodeStateMachineTransition" id=224]
switch_mode = 2
auto_advance = true
[sub_resource type="AnimationNodeStateMachineTransition" id=225]
[sub_resource type="AnimationNodeStateMachineTransition" id=226]
[sub_resource type="AnimationNodeStateMachineTransition" id=229]
[sub_resource type="AnimationNodeStateMachine" id=47]
states/duckTurn/node = SubResource( 126 )
states/duckTurn/position = Vector2( 1795.54, 241 )
states/duckTurn/position = Vector2( 1795.58, 473.808 )
states/ducking/node = SubResource( 110 )
states/ducking/position = Vector2( 1795.54, 129.009 )
states/ducking/position = Vector2( 1793.04, 304.294 )
states/falling/node = SubResource( 113 )
states/falling/position = Vector2( 2119.49, 129.011 )
states/falling/position = Vector2( 2105.2, -5.27472 )
states/idleTurn/node = SubResource( 127 )
states/idleTurn/position = Vector2( 1375.54, -193.991 )
states/idleTurn/position = Vector2( 1572.68, -269.229 )
states/idling/node = SubResource( 116 )
states/idling/position = Vector2( 1375.63, -53.9546 )
states/idling/position = Vector2( 994.683, -67.2875 )
states/jumpStretching/node = SubResource( 223 )
states/jumpStretching/position = Vector2( 1327.4, 199.14 )
states/jumpToFall/node = SubResource( 119 )
states/jumpToFall/position = Vector2( 1981.07, 404.104 )
states/jumpToFall/position = Vector2( 2398.21, 473.628 )
states/jumping/node = SubResource( 125 )
states/jumping/position = Vector2( 1368.79, 122.723 )
states/jumping/position = Vector2( 1161.17, 350.841 )
states/landStretching/node = SubResource( 219 )
states/landStretching/position = Vector2( 2001.3, -167.383 )
states/runToJump/node = SubResource( 146 )
states/runToJump/position = Vector2( 2119.34, 577.905 )
states/runToJump/position = Vector2( 2504.24, 710.286 )
states/running/node = SubResource( 122 )
states/running/position = Vector2( 2268.44, -53.9541 )
states/running/position = Vector2( 2564.63, -50.5511 )
states/turnToRun/node = SubResource( 130 )
states/turnToRun/position = Vector2( 1795.54, -308.991 )
states/turnToRun/position = Vector2( 1795.59, -553.753 )
states/walking/node = SubResource( 133 )
states/walking/position = Vector2( 1795.54, -54 )
states/wallslideToJump/node = SubResource( 136 )
states/wallslideToJump/position = Vector2( 1362.38, 336.342 )
states/wallslideToJump/position = Vector2( 1135.71, 518.247 )
states/wallsliding/node = SubResource( 96 )
states/wallsliding/position = Vector2( 1795.54, 493.009 )
transitions = [ "falling", "wallsliding", SubResource( 138 ), "wallsliding", "idling", SubResource( 139 ), "wallsliding", "wallslideToJump", SubResource( 140 ), "wallslideToJump", "jumping", SubResource( 141 ), "idling", "jumping", SubResource( 147 ), "runToJump", "jumping", SubResource( 148 ), "ducking", "jumping", SubResource( 149 ), "jumping", "jumpToFall", SubResource( 150 ), "jumpToFall", "falling", SubResource( 151 ), "ducking", "duckTurn", SubResource( 152 ), "duckTurn", "ducking", SubResource( 153 ), "falling", "ducking", SubResource( 154 ), "ducking", "falling", SubResource( 155 ), "ducking", "walking", SubResource( 156 ), "walking", "ducking", SubResource( 157 ), "idling", "ducking", SubResource( 158 ), "ducking", "idling", SubResource( 159 ), "ducking", "running", SubResource( 160 ), "running", "ducking", SubResource( 161 ), "running", "falling", SubResource( 162 ), "falling", "running", SubResource( 163 ), "walking", "falling", SubResource( 164 ), "falling", "walking", SubResource( 165 ), "falling", "idling", SubResource( 166 ), "idling", "walking", SubResource( 167 ), "walking", "idling", SubResource( 168 ), "walking", "turnToRun", SubResource( 169 ), "turnToRun", "walking", SubResource( 170 ), "turnToRun", "running", SubResource( 172 ), "idling", "idleTurn", SubResource( 173 ), "walking", "idleTurn", SubResource( 174 ), "idleTurn", "walking", SubResource( 175 ), "idling", "turnToRun", SubResource( 176 ), "turnToRun", "idling", SubResource( 177 ), "running", "runToJump", SubResource( 178 ), "wallsliding", "falling", SubResource( 137 ), "jumping", "wallsliding", SubResource( 189 ), "jumping", "idling", SubResource( 193 ), "jumping", "walking", SubResource( 194 ), "runToJump", "wallsliding", SubResource( 195 ), "jumpToFall", "idling", SubResource( 196 ), "running", "turnToRun", SubResource( 203 ) ]
states/wallsliding/position = Vector2( 1795.45, 770.152 )
transitions = [ "falling", "wallsliding", SubResource( 138 ), "wallsliding", "idling", SubResource( 139 ), "wallsliding", "wallslideToJump", SubResource( 140 ), "wallslideToJump", "jumping", SubResource( 141 ), "runToJump", "jumping", SubResource( 148 ), "jumping", "jumpToFall", SubResource( 150 ), "jumpToFall", "falling", SubResource( 151 ), "ducking", "duckTurn", SubResource( 152 ), "duckTurn", "ducking", SubResource( 153 ), "falling", "ducking", SubResource( 154 ), "ducking", "falling", SubResource( 155 ), "ducking", "walking", SubResource( 156 ), "walking", "ducking", SubResource( 157 ), "idling", "ducking", SubResource( 158 ), "ducking", "idling", SubResource( 159 ), "ducking", "running", SubResource( 160 ), "running", "falling", SubResource( 162 ), "falling", "running", SubResource( 163 ), "walking", "falling", SubResource( 164 ), "idling", "walking", SubResource( 167 ), "walking", "idling", SubResource( 168 ), "walking", "turnToRun", SubResource( 169 ), "turnToRun", "walking", SubResource( 170 ), "turnToRun", "running", SubResource( 172 ), "idling", "idleTurn", SubResource( 173 ), "walking", "idleTurn", SubResource( 174 ), "idleTurn", "walking", SubResource( 175 ), "idling", "turnToRun", SubResource( 176 ), "turnToRun", "idling", SubResource( 177 ), "running", "runToJump", SubResource( 178 ), "wallsliding", "falling", SubResource( 137 ), "jumping", "wallsliding", SubResource( 189 ), "jumping", "idling", SubResource( 193 ), "jumping", "walking", SubResource( 194 ), "runToJump", "wallsliding", SubResource( 195 ), "jumpToFall", "idling", SubResource( 196 ), "running", "turnToRun", SubResource( 203 ), "running", "ducking", SubResource( 161 ), "falling", "landStretching", SubResource( 220 ), "landStretching", "idling", SubResource( 221 ), "landStretching", "walking", SubResource( 222 ), "jumpStretching", "jumping", SubResource( 224 ), "ducking", "jumpStretching", SubResource( 225 ), "idling", "jumpStretching", SubResource( 226 ), "walking", "jumpStretching", SubResource( 229 ) ]
start_node = "idling"
graph_offset = Vector2( 1135.54, -198.431 )
graph_offset = Vector2( 1124.54, -315.431 )
[sub_resource type="AnimationNodeStateMachinePlayback" id=48]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 12.971, 8.99662 )
extents = Vector2( 12, 8.99662 )
[sub_resource type="Animation" id=17]
length = 0.001
@ -1830,9 +1870,68 @@ tracks/10/keys = {
"values": [ Vector2( -1, 1 ) ]
}
[sub_resource type="Animation" id=205]
resource_name = "jumpStretch"
length = 0.1
step = 0.05
tracks/0/type = "value"
tracks/0/path = NodePath(".:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ), Vector2( 1, 1.2 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:offset")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 0 ), Vector2( 1, -3 ) ]
}
[sub_resource type="Animation" id=215]
resource_name = "jumpStretchLeft"
length = 0.1
step = 0.05
tracks/0/type = "value"
tracks/0/path = NodePath(".:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( -1, 1 ), Vector2( -1, 1.2 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:offset")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 0 ), Vector2( 1, -3 ) ]
}
[sub_resource type="Animation" id=71]
length = 0.13
loop = true
step = 0.01
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
@ -1960,16 +2059,17 @@ tracks/10/loop_wrap = true
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"times": PoolRealArray( 0, 0.01 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ) ]
"values": [ Vector2( 1, 1 ), Vector2( 1, 1.2 ) ]
}
[sub_resource type="Animation" id=105]
resource_name = "jumpToFallLeft"
length = 0.13
loop = true
step = 0.01
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
@ -2097,10 +2197,10 @@ tracks/10/loop_wrap = true
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"times": PoolRealArray( 0, 0.01 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( -1, 1 ) ]
"values": [ Vector2( -1, 1 ), Vector2( -1, 1.2 ) ]
}
[sub_resource type="Animation" id=8]
@ -2109,7 +2209,7 @@ loop = true
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = false
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
@ -2376,9 +2476,68 @@ tracks/10/keys = {
"values": [ Vector2( -1, 1 ) ]
}
[sub_resource type="Animation" id=210]
resource_name = "landStretch"
length = 0.075
step = 0.025
tracks/0/type = "value"
tracks/0/path = NodePath(".:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.075 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ), Vector2( 1, 0.85 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:offset")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.075 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 0 ), Vector2( 1, 3 ) ]
}
[sub_resource type="Animation" id=216]
resource_name = "landStretchLeft"
length = 0.075
step = 0.025
tracks/0/type = "value"
tracks/0/path = NodePath(".:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.075 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( -1, 1 ), Vector2( -1, 0.85 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:offset")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.075 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 0 ), Vector2( 1, 3 ) ]
}
[sub_resource type="Animation" id=72]
length = 0.23
loop = true
step = 0.01
tracks/0/type = "value"
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
@ -2506,10 +2665,10 @@ tracks/10/loop_wrap = true
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"times": PoolRealArray( 0, 0.23 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ) ]
"values": [ Vector2( 0.75, 1 ), Vector2( 1, 1 ) ]
}
[sub_resource type="Animation" id=143]
@ -4207,7 +4366,7 @@ process_priority = -1
collision_mask = 254
[node name="CollisionPolygon2D" type="CollisionShape2D" parent="BlobbySkin"]
position = Vector2( 0.0286326, -10.0053 )
position = Vector2( 1, -8.975 )
scale = Vector2( 1.03, 1.04 )
shape = SubResource( 2 )
@ -4222,12 +4381,11 @@ visible = false
[node name="BlobbySprite" type="Sprite" parent="."]
material = ExtResource( 2 )
position = Vector2( 0, -16 )
scale = Vector2( -1, 1 )
texture = SubResource( 62 )
offset = Vector2( 1, 0 )
hframes = 6
vframes = 6
frame = 5
frame = 10
__meta__ = {
"_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PUJsb2JieVNwcml0ZS9CbG9iYnltYXRpb25QbGF5ZXIKc291cmNlfD1yZXM6Ly9hc3NldHMvYmxvYmJ5L2Jsb2JieS1zcHJpdGVzaGVldHQuYXNlcHJpdGUKbGF5ZXJ8PUJsb2JieQpvcF9leHB8PUZhbHNlCm9fZm9sZGVyfD0Kb19uYW1lfD0Kb25seV92aXNpYmxlfD1GYWxzZQpvX2V4X3B8PQo="
}
@ -4242,17 +4400,20 @@ parameters/playback = SubResource( 48 )
parameters/ducking/blend_position = 1.0
parameters/falling/blend_position = 1.0
parameters/idling/blend_position = 1.0
parameters/jumpStretching/blend_position = 1.0
parameters/jumpToFall/blend_position = 1.0
parameters/jumping/blend_position = 1.0
parameters/landStretching/blend_position = 1.0
parameters/runToJump/blend_position = 1.0
parameters/running/blend_position = 1.0
parameters/turnToRun/blend_position = 1.0
parameters/walking/blend_position = 1.0
parameters/wallslideToJump/blend_position = 1.0
parameters/wallsliding/blend_position = 1.0
parameters/wallsliding/blend_position = -1.0
[node name="BlobbymationPlayer" type="AnimationPlayer" parent="BlobbySprite"]
unique_name_in_owner = true
reset_on_save = false
playback_process_mode = 0
anims/RESET = SubResource( 17 )
anims/duckRun = SubResource( 67 )
@ -4268,10 +4429,14 @@ anims/fallingLeft = SubResource( 106 )
anims/idleTurn = SubResource( 70 )
anims/idling = SubResource( 7 )
anims/idlingLeft = SubResource( 103 )
anims/jumpStretch = SubResource( 205 )
anims/jumpStretchLeft = SubResource( 215 )
anims/jumpToFall = SubResource( 71 )
anims/jumpToFallLeft = SubResource( 105 )
anims/jumping = SubResource( 8 )
anims/jumpingLeft = SubResource( 104 )
anims/landStretch = SubResource( 210 )
anims/landStretchLeft = SubResource( 216 )
anims/runToJump = SubResource( 72 )
anims/runToJumpLeft = SubResource( 143 )
anims/running = SubResource( 49 )
@ -4332,7 +4497,7 @@ position = Vector2( 0, -9 )
scale = Vector2( 0.48, 0.48 )
[node name="BlobbyBody" type="CollisionShape2D" parent="." groups=["player"]]
position = Vector2( 0.0392303, -10.002 )
position = Vector2( 1, -8.975 )
shape = SubResource( 1 )
[node name="WallRaycasts" type="Node2D" parent="."]
@ -4341,29 +4506,29 @@ position = Vector2( 0, -1 )
[node name="LeftWallRaycast" type="Node2D" parent="WallRaycasts"]
[node name="Left_Wallcast1" type="RayCast2D" parent="WallRaycasts/LeftWallRaycast"]
position = Vector2( -11.9763, -5 )
position = Vector2( -12, -10.686 )
enabled = true
cast_to = Vector2( -2, 0 )
cast_to = Vector2( -2.5, 0 )
collision_mask = 40
[node name="Left_Wallcast2" type="RayCast2D" parent="WallRaycasts/LeftWallRaycast"]
position = Vector2( -11.9763, 5 )
position = Vector2( -12, -1.942 )
enabled = true
cast_to = Vector2( -2, 0 )
cast_to = Vector2( -2.5, 0 )
collision_mask = 40
[node name="RightWallRaycast" type="Node2D" parent="WallRaycasts"]
[node name="Right_Wallcast1" type="RayCast2D" parent="WallRaycasts/RightWallRaycast"]
position = Vector2( 12.0551, -5 )
position = Vector2( 14, -10.686 )
enabled = true
cast_to = Vector2( 2, 0 )
cast_to = Vector2( 2.5, 0 )
collision_mask = 40
[node name="Right_Wallcast2" type="RayCast2D" parent="WallRaycasts/RightWallRaycast"]
position = Vector2( 12.0551, 5 )
position = Vector2( 14, -1.942 )
enabled = true
cast_to = Vector2( 2, 0 )
cast_to = Vector2( 2.5, 0 )
collision_mask = 40
[node name="SlopeRaycastLeft" type="RayCast2D" parent="."]

View File

@ -214,6 +214,8 @@ scale = Vector2( 0.878906, 0.936025 )
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 14 )
parameters/jumpStretching/blend_position = 1
parameters/landStretching/blend_position = 1
[node name="WhatAreFrog" parent="." instance=ExtResource( 11 )]
position = Vector2( 926, -25 )
@ -562,13 +564,16 @@ autoplay = true
bus = "Music"
[node name="Mine" parent="." instance=ExtResource( 18 )]
position = Vector2( 10, -6 )
visible = false
position = Vector2( 24, -69 )
[node name="Mine3" parent="." instance=ExtResource( 18 )]
position = Vector2( 10, -24 )
visible = false
position = Vector2( 24, -87 )
[node name="Mine2" parent="." instance=ExtResource( 18 )]
position = Vector2( 10, -41 )
visible = false
position = Vector2( 24, -104 )
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]

View File

@ -1039,8 +1039,13 @@ unique_name_in_owner = true
position = Vector2( -156, -51 )
scale = Vector2( 0.878906, 0.936025 )
[node name="BlobbySprite" parent="Blobby" index="5"]
frame = 6
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 6 )
parameters/jumpStretching/blend_position = 1
parameters/landStretching/blend_position = 1
[node name="PitArea" parent="." instance=ExtResource( 13 )]
position = Vector2( 1338, 198 )

View File

@ -6,6 +6,9 @@ export var init_boost = false
export var init_boost_type = ""
export(String, FILE) var footstep_sound := "res://assets/sounds/footsteps.ogg"
export(String, FILE) var jump_lift_off_sound := "res://assets/sounds/MAGIC_SPELL_Flame_03_mono.wav"
export(String, FILE) var landing_sound_1 := "res://assets/sounds/THUD_Medium_01_mono.wav"
export(String, FILE) var landing_sound_2 := "res://assets/sounds/landingMedHard.ogg"
var facing = 1
var did_turn
@ -127,6 +130,7 @@ func handle_jump_input(delta, direction) -> Vector2:
func handle_fall_input(delta, direction) -> Vector2:
return parent.handle_fall_movement(delta, direction)
func handle_wallslide_input(delta, direction) -> Vector2:
return parent.handle_wallslide_movement(delta, direction)
@ -217,9 +221,6 @@ func _enter_state(new_state, old_state):
if !["run", "walk", "idle", "duck"].has(old_state) && parent.is_on_floor():
emit_signal("got_grounded")
scene_audio.play_parallel_sound(
"res://assets/sounds/landingMedHard.ogg", -15.0, true, 1.0, 0.1
)
match new_state:
states.walk:
@ -239,6 +240,7 @@ func _enter_state(new_state, old_state):
scene_audio.play_sound(footstep_sound, -5.0, true)
states.jump:
if parent.rotation == 0 || !parent.snap_possible:
scene_audio.play_parallel_sound(jump_lift_off_sound, -25.0, true, 1, 0.1)
if old_state == states.run:
anim_state_playback.travel("runToJump")
else:
@ -255,10 +257,14 @@ func _enter_state(new_state, old_state):
anim_state_playback.travel("wallsliding")
func _exit_state(_old_state, _new_state):
func _exit_state(old_state, new_state):
scene_audio.stop_sound()
if _old_state == "run":
if old_state == "run":
running_particles.emitting = false
if old_state == "fall" && new_state != "wallslide":
scene_audio.play_parallel_sound(landing_sound_1, 0.0, true, 1.0, 0.1)
elif old_state == "fall" && new_state == "wallslide":
scene_audio.play_parallel_sound(landing_sound_2, -15.0, true, 1.0, 0.1)
func _set_blendspaces_direction(value):
@ -273,6 +279,8 @@ func _set_blendspaces_direction(value):
anim_tree.set("parameters/running/blend_position", value)
anim_tree.set("parameters/turnToRun/blend_position", value)
anim_tree.set("parameters/walking/blend_position", value)
anim_tree.set("parameters/jumpStretching/blend_position", value)
anim_tree.set("parameters/landStretching/blend_position", value)
func _trigger_turn_animation():