From 7236428157b0556bf12c4c0d80c846c5b9fb6c54 Mon Sep 17 00:00:00 2001 From: Martin Araneda Date: Thu, 1 Sep 2022 15:55:02 -0400 Subject: [PATCH] coin and bgm added, game over music still not done --- godot/GUI/GameOver.tscn | 8 +++++++- godot/assets/music/Magic Fx 7.ogg | 3 +++ godot/assets/music/Magic Fx 7.ogg.import | 15 +++++++++++++++ godot/characters/player/Player.tscn | 2 +- godot/collectables/coin/Coin.tscn | 7 ++++++- godot/levels/Prototype.tscn | 11 ++++++++++- src/coin/CoinCollected.cpp | 4 +++- src/gui/game_over/GameOverScreen.cpp | 22 ++++++++++++++++++++++ src/gui/game_over/GameOverScreen.h | 2 ++ 9 files changed, 69 insertions(+), 5 deletions(-) create mode 100644 godot/assets/music/Magic Fx 7.ogg create mode 100644 godot/assets/music/Magic Fx 7.ogg.import diff --git a/godot/GUI/GameOver.tscn b/godot/GUI/GameOver.tscn index ba0990d..fde9238 100644 --- a/godot/GUI/GameOver.tscn +++ b/godot/GUI/GameOver.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://assets/fonts/ttf/PixelOperator8.ttf" type="DynamicFontData" id=1] [ext_resource path="res://assets/fonts/ttf/PixelOperatorHB8.ttf" type="DynamicFontData" id=2] [ext_resource path="res://GUI/botonreiniciar.gdns" type="Script" id=3] +[ext_resource path="res://assets/sounds/died.wav" type="AudioStream" id=4] [sub_resource type="DynamicFont" id=1] size = 50 @@ -45,4 +46,9 @@ custom_fonts/font = SubResource( 2 ) custom_styles/hover = SubResource( 3 ) text = "REINICIAR" +[node name="GameOverMusic" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 4 ) +volume_db = -23.524 + +[connection signal="visibility_changed" from="." to="." method="_play_music"] [connection signal="pressed" from="Control/RestartButton" to="." method="_on_restart_button_pressed"] diff --git a/godot/assets/music/Magic Fx 7.ogg b/godot/assets/music/Magic Fx 7.ogg new file mode 100644 index 0000000..a9c0020 --- /dev/null +++ b/godot/assets/music/Magic Fx 7.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:212b33aef7ed3befca6912a1fcd86e7166a9bbbe55a3422a7d10bbf1afbf5020 +size 2189889 diff --git a/godot/assets/music/Magic Fx 7.ogg.import b/godot/assets/music/Magic Fx 7.ogg.import new file mode 100644 index 0000000..d27d30e --- /dev/null +++ b/godot/assets/music/Magic Fx 7.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/Magic Fx 7.ogg-8a3ae422bac9ed88f48079377b8e81ff.oggstr" + +[deps] + +source_file="res://assets/music/Magic Fx 7.ogg" +dest_files=[ "res://.import/Magic Fx 7.ogg-8a3ae422bac9ed88f48079377b8e81ff.oggstr" ] + +[params] + +loop=true +loop_offset=0 diff --git a/godot/characters/player/Player.tscn b/godot/characters/player/Player.tscn index bbd2fc2..87f7b58 100644 --- a/godot/characters/player/Player.tscn +++ b/godot/characters/player/Player.tscn @@ -52,4 +52,4 @@ collision_mask = 24 [node name="Jump" type="AudioStreamPlayer" parent="Sounds"] stream = ExtResource( 8 ) -volume_db = -45.0 +volume_db = -23.953 diff --git a/godot/collectables/coin/Coin.tscn b/godot/collectables/coin/Coin.tscn index 6d52bb0..1c40bc1 100644 --- a/godot/collectables/coin/Coin.tscn +++ b/godot/collectables/coin/Coin.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=10 format=2] +[gd_scene load_steps=11 format=2] [ext_resource path="res://assets/coin.png" type="Texture" id=1] [ext_resource path="res://state_machine/StateMachine.gdns" type="Script" id=2] [ext_resource path="res://collectables/coin/states/CoinNotCollected.gdns" type="Script" id=3] [ext_resource path="res://collectables/coin/states/CoinCollected.gdns" type="Script" id=4] +[ext_resource path="res://assets/sounds/coin.wav" type="AudioStream" id=5] [sub_resource type="CircleShape2D" id=1] radius = 6.0 @@ -67,5 +68,9 @@ script = ExtResource( 4 ) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] anims/jump = SubResource( 5 ) +[node name="CoinCollectedSound" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 5 ) +volume_db = -6.19 + [connection signal="body_entered" from="." to="StateMachine/CoinNotCollected" method="_on_body_entered" flags=6] [connection signal="animation_finished" from="AnimationPlayer" to="StateMachine/CoinCollected" method="_on_animation_finished" flags=6] diff --git a/godot/levels/Prototype.tscn b/godot/levels/Prototype.tscn index b71e0c7..39fe9ce 100644 --- a/godot/levels/Prototype.tscn +++ b/godot/levels/Prototype.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=2] +[gd_scene load_steps=9 format=2] [ext_resource path="res://CameraLimit.gdns" type="Script" id=1] [ext_resource path="res://characters/player/Player.tscn" type="PackedScene" id=2] @@ -6,6 +6,7 @@ [ext_resource path="res://assets/backgrounds/mountains.png" type="Texture" id=4] [ext_resource path="res://collectables/coin/Coin.tscn" type="PackedScene" id=5] [ext_resource path="res://hud/CoinHUD.tscn" type="PackedScene" id=6] +[ext_resource path="res://assets/music/Magic Fx 7.ogg" type="AudioStream" id=7] [ext_resource path="res://goal/Goal.tscn" type="PackedScene" id=8] [node name="Prototype" type="Node2D"] @@ -51,9 +52,17 @@ script = ExtResource( 1 ) [node name="coin" parent="Coins" instance=ExtResource( 5 )] position = Vector2( 72, 450 ) +[node name="AnimatedSprite" parent="Coins/coin" index="1"] +frame = 0 + [node name="coin2" parent="Coins" instance=ExtResource( 5 )] position = Vector2( 234, 450 ) [node name="Goal" parent="." instance=ExtResource( 8 )] +[node name="BGM" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 7 ) +volume_db = -29.714 +autoplay = true + [editable path="Coins/coin"] diff --git a/src/coin/CoinCollected.cpp b/src/coin/CoinCollected.cpp index 5c30b82..110be15 100644 --- a/src/coin/CoinCollected.cpp +++ b/src/coin/CoinCollected.cpp @@ -2,6 +2,7 @@ #include "Event.h" +#include #include void alai::CoinCollected::_register_methods() @@ -32,7 +33,8 @@ void alai::CoinCollected::_state_enter() auto animation_player = Object::cast_to(node); animation_player->play("jump"); } - + auto coin_collected_sound = get_parent()->get_node("CoinCollectedSound"); + coin_collected_sound->play(); } void alai::CoinCollected::_state_exit() diff --git a/src/gui/game_over/GameOverScreen.cpp b/src/gui/game_over/GameOverScreen.cpp index fc35153..299ccae 100644 --- a/src/gui/game_over/GameOverScreen.cpp +++ b/src/gui/game_over/GameOverScreen.cpp @@ -7,6 +7,8 @@ #include #include #include +#include +#include void alai::GameOverScreen::_register_methods() { @@ -14,6 +16,7 @@ void alai::GameOverScreen::_register_methods() register_method("_ready", &GameOverScreen::_ready); register_method("connect_signal", &GameOverScreen::connect_signal); register_method("_on_player_died", &GameOverScreen::_on_player_died); + register_method("_play music", &GameOverScreen::_play_music); } alai::GameOverScreen::GameOverScreen() @@ -29,9 +32,11 @@ void alai::GameOverScreen::_init() _resource_loader = godot::ResourceLoader::get_singleton(); } + void alai::GameOverScreen::_ready() { connect_signal(); + } void alai::GameOverScreen::_on_restart_button_pressed() @@ -85,3 +90,20 @@ void alai::GameOverScreen::connect_signal() auto event = get_node("/root/Event"); event->connect("player_died", this, "_on_player_died"); } + +void alai::GameOverScreen::_play_music() +{ + if (this->is_on_screen() == true) + { + auto game_over_sound = get_node("GameOverMusic"); + game_over_sound->play(); + + } + else + { + auto game_over_sound = get_node("GameOverMusic"); + game_over_sound->stop(); + } + + +} diff --git a/src/gui/game_over/GameOverScreen.h b/src/gui/game_over/GameOverScreen.h index 892a316..6e4b657 100644 --- a/src/gui/game_over/GameOverScreen.h +++ b/src/gui/game_over/GameOverScreen.h @@ -5,6 +5,7 @@ #include #include + namespace alai { /** @@ -53,6 +54,7 @@ namespace alai void _on_player_died(); void _on_restart_button_pressed(); void connect_signal(); + void _play_music(); }; }