From f4dda0ab1b2167d8e715d17b54d1d048504aa78b Mon Sep 17 00:00:00 2001 From: pennyrigate Date: Tue, 17 Jan 2023 19:25:15 -0500 Subject: [PATCH] added freeze frame after death --- game.gd | 7 ++++++ game.tscn | 1 + graphics/backgrounds/canopy.png.import | 35 ++++++++++++++++++++++++++ maps/cave.tscn | 2 +- maps/test_room.tscn | 1 + objects/player/player.gd | 9 ++++--- objects/player/player.tscn | 1 + scripts/debug.gd | 2 +- 8 files changed, 53 insertions(+), 5 deletions(-) create mode 100644 graphics/backgrounds/canopy.png.import diff --git a/game.gd b/game.gd index 75484dd..315cfac 100644 --- a/game.gd +++ b/game.gd @@ -120,6 +120,13 @@ func restart_level(): Game.ac_climb.stop() Game.change_map(load(Game.get_map().filename)) +#Freeze frame +func freeze_frame(time): + get_tree().paused = true + var timer = get_tree().create_timer(time, true) + timer.connect("timeout", get_tree(), "set_pause", [false]) + return timer + func _process(delta): if Debug.entry == false: #CRT FILTER diff --git a/game.tscn b/game.tscn index 617a354..da0cea6 100644 --- a/game.tscn +++ b/game.tscn @@ -3,6 +3,7 @@ [ext_resource path="res://game.gd" type="Script" id=1] [node name="Game" type="Node"] +pause_mode = 2 script = ExtResource( 1 ) [node name="CollecitbleSound" type="AudioStreamPlayer" parent="."] diff --git a/graphics/backgrounds/canopy.png.import b/graphics/backgrounds/canopy.png.import new file mode 100644 index 0000000..0156b34 --- /dev/null +++ b/graphics/backgrounds/canopy.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/canopy.png-45821e386b9d22afb42cbd5bc48148fb.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/backgrounds/canopy.png" +dest_files=[ "res://.import/canopy.png-45821e386b9d22afb42cbd5bc48148fb.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/maps/cave.tscn b/maps/cave.tscn index 0593766..a8ccb2c 100644 --- a/maps/cave.tscn +++ b/maps/cave.tscn @@ -28,7 +28,7 @@ [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 4, 96 ) -[node name="Map" type="Node2D" groups=["map"]] +[node name="Map2" type="Node2D" groups=["map"]] pause_mode = 1 script = ExtResource( 11 ) save_location = 2 diff --git a/maps/test_room.tscn b/maps/test_room.tscn index 7ef6344..c91159c 100644 --- a/maps/test_room.tscn +++ b/maps/test_room.tscn @@ -18,6 +18,7 @@ save_location = 420 music = ExtResource( 12 ) [node name="Camera2D" parent="." instance=ExtResource( 6 )] +current = false [node name="Sprite" type="Sprite" parent="Camera2D"] modulate = Color( 0.862745, 0.054902, 0.054902, 1 ) diff --git a/objects/player/player.gd b/objects/player/player.gd index c967e5d..7691ba3 100644 --- a/objects/player/player.gd +++ b/objects/player/player.gd @@ -250,12 +250,15 @@ func die(): get_parent().add_child(new_particles) new_particles.global_position = global_position new_particles.emitting = true - position = Game.respawn_point - Game.lives -= 1 + sprite.visible = false Game.play_sound(Game.a_die,Game.ac_die) + yield(Game.freeze_frame(0.3), "timeout") + position = Game.respawn_point + sprite.visible = true + current_state = State.IDLE + Game.lives -= 1 if Game.lives < 0: Game.call_deferred("restart_level") - func _on_AnimationPlayer_animation_finished(anim_name): #Return to idle after slash diff --git a/objects/player/player.tscn b/objects/player/player.tscn index 05332bf..57143f7 100644 --- a/objects/player/player.tscn +++ b/objects/player/player.tscn @@ -707,6 +707,7 @@ shape = SubResource( 34 ) disabled = true [node name="DeathSplatter" type="Particles2D" parent="."] +pause_mode = 2 emitting = false amount = 16 lifetime = 0.3 diff --git a/scripts/debug.gd b/scripts/debug.gd index d13d8d9..8f9c51e 100644 --- a/scripts/debug.gd +++ b/scripts/debug.gd @@ -53,7 +53,7 @@ func _physics_process(delta): Game.change_map(load("res://maps/level_select.tscn")) #Debug 2 if Input.is_action_just_pressed("debug_2"): - Engine.set_target_fps(1) + Game.freeze_frame(1.0) func print(text): lines += 1