mirror of
https://github.com/creyD/ludum_dare_46.git
synced 2026-06-15 06:42:22 +02:00
fixed titlemenue, refactored soundplayback
This commit is contained in:
BIN
src/Menus/Sounds/menu_theme.ogg
Normal file
BIN
src/Menus/Sounds/menu_theme.ogg
Normal file
Binary file not shown.
15
src/Menus/Sounds/menu_theme.ogg.import
Normal file
15
src/Menus/Sounds/menu_theme.ogg.import
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="ogg_vorbis"
|
||||||
|
type="AudioStreamOGGVorbis"
|
||||||
|
path="res://.import/menu_theme.ogg-9ccc235bdc65da3be6e74fbbdbbd5bce.oggstr"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Menus/Sounds/menu_theme.ogg"
|
||||||
|
dest_files=[ "res://.import/menu_theme.ogg-9ccc235bdc65da3be6e74fbbdbbd5bce.oggstr" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=true
|
||||||
|
loop_offset=0
|
||||||
@@ -1,33 +1,9 @@
|
|||||||
extends AnimatedSprite
|
extends AnimatedSprite
|
||||||
|
|
||||||
signal startup_finished
|
|
||||||
var finished_once := false
|
|
||||||
|
|
||||||
export(int) var startup_finish_frame = 65
|
|
||||||
export(int) var loop_frame = 80
|
|
||||||
|
|
||||||
# Declare member variables here. Examples:
|
|
||||||
# var a = 2
|
|
||||||
# var b = "text"
|
|
||||||
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
|
||||||
func _ready():
|
|
||||||
play("default")
|
|
||||||
|
|
||||||
func _process(delta):
|
|
||||||
if Input.is_action_just_pressed("skip"):
|
|
||||||
frame = startup_finish_frame
|
|
||||||
|
|
||||||
if frame > startup_finish_frame:
|
|
||||||
if not finished_once:
|
|
||||||
emit_signal("startup_finished")
|
|
||||||
finished_once = true
|
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
#func _process(delta):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
|
|
||||||
func _on_Startup_animation_finished():
|
|
||||||
frame = loop_frame
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=123 format=2]
|
[gd_scene load_steps=122 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Menus/Startup/Frames/LD46_50.jpg" type="Texture" id=1]
|
[ext_resource path="res://Menus/Startup/Frames/LD46_50.jpg" type="Texture" id=1]
|
||||||
[ext_resource path="res://Menus/Startup/Frames/LD46_54.jpg" type="Texture" id=2]
|
[ext_resource path="res://Menus/Startup/Frames/LD46_54.jpg" type="Texture" id=2]
|
||||||
@@ -120,18 +120,23 @@
|
|||||||
[ext_resource path="res://Menus/Startup/Frames/LD46_98.jpg" type="Texture" id=118]
|
[ext_resource path="res://Menus/Startup/Frames/LD46_98.jpg" type="Texture" id=118]
|
||||||
[ext_resource path="res://Menus/Startup/Frames/LD46_117.jpg" type="Texture" id=119]
|
[ext_resource path="res://Menus/Startup/Frames/LD46_117.jpg" type="Texture" id=119]
|
||||||
[ext_resource path="res://Menus/Startup/Frames/LD46_116.jpg" type="Texture" id=120]
|
[ext_resource path="res://Menus/Startup/Frames/LD46_116.jpg" type="Texture" id=120]
|
||||||
[ext_resource path="res://Menus/Startup/Startup.gd" type="Script" id=121]
|
|
||||||
|
|
||||||
[sub_resource type="SpriteFrames" id=1]
|
[sub_resource type="SpriteFrames" id=1]
|
||||||
animations = [ {
|
animations = [ {
|
||||||
"frames": [ ExtResource( 11 ), ExtResource( 17 ), ExtResource( 25 ), ExtResource( 10 ), ExtResource( 26 ), ExtResource( 37 ), ExtResource( 38 ), ExtResource( 18 ), ExtResource( 29 ), ExtResource( 14 ), ExtResource( 13 ), ExtResource( 27 ), ExtResource( 9 ), ExtResource( 28 ), ExtResource( 24 ), ExtResource( 32 ), ExtResource( 42 ), ExtResource( 23 ), ExtResource( 16 ), ExtResource( 20 ), ExtResource( 15 ), ExtResource( 7 ), ExtResource( 44 ), ExtResource( 35 ), ExtResource( 50 ), ExtResource( 33 ), ExtResource( 49 ), ExtResource( 41 ), ExtResource( 36 ), ExtResource( 39 ), ExtResource( 30 ), ExtResource( 12 ), ExtResource( 34 ), ExtResource( 22 ), ExtResource( 71 ), ExtResource( 31 ), ExtResource( 78 ), ExtResource( 45 ), ExtResource( 51 ), ExtResource( 55 ), ExtResource( 19 ), ExtResource( 43 ), ExtResource( 4 ), ExtResource( 52 ), ExtResource( 79 ), ExtResource( 60 ), ExtResource( 47 ), ExtResource( 56 ), ExtResource( 40 ), ExtResource( 21 ), ExtResource( 1 ), ExtResource( 57 ), ExtResource( 54 ), ExtResource( 6 ), ExtResource( 2 ), ExtResource( 5 ), ExtResource( 66 ), ExtResource( 58 ), ExtResource( 80 ), ExtResource( 46 ), ExtResource( 48 ), ExtResource( 53 ), ExtResource( 3 ), ExtResource( 76 ), ExtResource( 85 ), ExtResource( 77 ), ExtResource( 73 ), ExtResource( 61 ), ExtResource( 88 ), ExtResource( 64 ), ExtResource( 65 ), ExtResource( 89 ), ExtResource( 106 ), ExtResource( 99 ), ExtResource( 62 ), ExtResource( 104 ), ExtResource( 107 ), ExtResource( 95 ), ExtResource( 105 ), ExtResource( 86 ), ExtResource( 101 ), ExtResource( 72 ), ExtResource( 102 ), ExtResource( 75 ), ExtResource( 87 ), ExtResource( 70 ), ExtResource( 68 ), ExtResource( 103 ), ExtResource( 74 ), ExtResource( 69 ), ExtResource( 81 ), ExtResource( 82 ), ExtResource( 67 ), ExtResource( 59 ), ExtResource( 84 ), ExtResource( 83 ), ExtResource( 63 ), ExtResource( 109 ), ExtResource( 118 ), ExtResource( 93 ), ExtResource( 92 ), ExtResource( 91 ), ExtResource( 111 ), ExtResource( 108 ), ExtResource( 94 ), ExtResource( 96 ), ExtResource( 114 ), ExtResource( 97 ), ExtResource( 100 ), ExtResource( 110 ), ExtResource( 8 ), ExtResource( 90 ), ExtResource( 115 ), ExtResource( 98 ), ExtResource( 116 ), ExtResource( 117 ), ExtResource( 120 ), ExtResource( 119 ), ExtResource( 112 ), ExtResource( 113 ) ],
|
"frames": [ ExtResource( 11 ), ExtResource( 17 ), ExtResource( 25 ), ExtResource( 10 ), ExtResource( 26 ), ExtResource( 37 ), ExtResource( 38 ), ExtResource( 18 ), ExtResource( 29 ), ExtResource( 14 ), ExtResource( 13 ), ExtResource( 27 ), ExtResource( 9 ), ExtResource( 28 ), ExtResource( 24 ), ExtResource( 32 ), ExtResource( 42 ), ExtResource( 23 ), ExtResource( 16 ), ExtResource( 20 ), ExtResource( 15 ), ExtResource( 7 ), ExtResource( 44 ), ExtResource( 35 ), ExtResource( 50 ), ExtResource( 33 ), ExtResource( 49 ), ExtResource( 41 ), ExtResource( 36 ), ExtResource( 39 ), ExtResource( 30 ), ExtResource( 12 ), ExtResource( 34 ), ExtResource( 22 ), ExtResource( 71 ), ExtResource( 31 ), ExtResource( 78 ), ExtResource( 45 ), ExtResource( 51 ), ExtResource( 55 ), ExtResource( 19 ), ExtResource( 43 ), ExtResource( 4 ), ExtResource( 52 ), ExtResource( 79 ), ExtResource( 60 ), ExtResource( 47 ), ExtResource( 56 ), ExtResource( 40 ), ExtResource( 21 ), ExtResource( 1 ), ExtResource( 57 ), ExtResource( 54 ), ExtResource( 6 ), ExtResource( 2 ), ExtResource( 5 ), ExtResource( 66 ), ExtResource( 58 ), ExtResource( 80 ), ExtResource( 46 ), ExtResource( 48 ), ExtResource( 53 ), ExtResource( 3 ), ExtResource( 76 ), ExtResource( 85 ), ExtResource( 77 ), ExtResource( 73 ), ExtResource( 61 ), ExtResource( 88 ), ExtResource( 64 ), ExtResource( 65 ), ExtResource( 89 ), ExtResource( 106 ), ExtResource( 99 ), ExtResource( 62 ), ExtResource( 104 ), ExtResource( 107 ), ExtResource( 95 ), ExtResource( 105 ), ExtResource( 86 ), ExtResource( 101 ), ExtResource( 72 ), ExtResource( 102 ), ExtResource( 75 ), ExtResource( 87 ), ExtResource( 70 ), ExtResource( 68 ), ExtResource( 103 ), ExtResource( 74 ), ExtResource( 69 ), ExtResource( 81 ), ExtResource( 82 ), ExtResource( 67 ), ExtResource( 59 ), ExtResource( 84 ), ExtResource( 83 ), ExtResource( 63 ), ExtResource( 109 ), ExtResource( 118 ), ExtResource( 93 ), ExtResource( 92 ), ExtResource( 91 ), ExtResource( 111 ), ExtResource( 108 ), ExtResource( 94 ), ExtResource( 96 ), ExtResource( 114 ), ExtResource( 97 ), ExtResource( 100 ), ExtResource( 110 ), ExtResource( 8 ), ExtResource( 90 ), ExtResource( 115 ), ExtResource( 98 ), ExtResource( 116 ), ExtResource( 117 ), ExtResource( 120 ), ExtResource( 119 ), ExtResource( 112 ), ExtResource( 113 ) ],
|
||||||
|
"loop": false,
|
||||||
|
"name": "start",
|
||||||
|
"speed": 12.0
|
||||||
|
}, {
|
||||||
|
"frames": [ ExtResource( 101 ), ExtResource( 72 ), ExtResource( 102 ), ExtResource( 75 ), ExtResource( 87 ), ExtResource( 70 ), ExtResource( 68 ), ExtResource( 103 ), ExtResource( 74 ), ExtResource( 69 ), ExtResource( 81 ), ExtResource( 82 ), ExtResource( 67 ), ExtResource( 59 ), ExtResource( 84 ), ExtResource( 83 ), ExtResource( 63 ), ExtResource( 109 ), ExtResource( 118 ), ExtResource( 93 ), ExtResource( 92 ), ExtResource( 91 ), ExtResource( 111 ), ExtResource( 108 ), ExtResource( 94 ), ExtResource( 96 ), ExtResource( 114 ), ExtResource( 97 ), ExtResource( 100 ), ExtResource( 110 ), ExtResource( 8 ), ExtResource( 90 ), ExtResource( 115 ), ExtResource( 98 ), ExtResource( 116 ), ExtResource( 117 ), ExtResource( 120 ), ExtResource( 119 ), ExtResource( 112 ), ExtResource( 113 ) ],
|
||||||
"loop": true,
|
"loop": true,
|
||||||
"name": "default",
|
"name": "loop",
|
||||||
"speed": 12.0
|
"speed": 12.0
|
||||||
} ]
|
} ]
|
||||||
|
|
||||||
[node name="Startup" type="AnimatedSprite"]
|
[node name="Startup" type="AnimatedSprite"]
|
||||||
|
scale = Vector2( 1.4992, 1.5064 )
|
||||||
frames = SubResource( 1 )
|
frames = SubResource( 1 )
|
||||||
|
speed_scale = 4.0
|
||||||
centered = false
|
centered = false
|
||||||
script = ExtResource( 121 )
|
|
||||||
[connection signal="animation_finished" from="." to="." method="_on_Startup_animation_finished"]
|
[connection signal="animation_finished" from="." to="." method="_on_Startup_animation_finished"]
|
||||||
|
|||||||
@@ -1,17 +1,37 @@
|
|||||||
extends Control
|
extends Control
|
||||||
class_name TitleScreen
|
class_name TitleScreen
|
||||||
|
|
||||||
onready var new_game_button = $"VBoxContainer/NewGameButton"
|
signal startup_finished
|
||||||
|
|
||||||
|
export(int) var startup_finish_frame = 65
|
||||||
|
export(int) var loop_frame = 80
|
||||||
|
|
||||||
|
onready var new_game_button = $VBoxContainer/NewGameButton
|
||||||
onready var animation_player = $AnimationPlayer
|
onready var animation_player = $AnimationPlayer
|
||||||
|
onready var startup= $Startup
|
||||||
|
|
||||||
|
var finished_once := false
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
startup.play("start")
|
||||||
animation_player.play("__INIT__")
|
animation_player.play("__INIT__")
|
||||||
SoundControler.pub_play_music("res://Menus/TitleScreen/title_screen_bgm.ogg", false)
|
SoundControler.pub_play_music("res://Menus/Sounds/menu_theme.ogg", false)
|
||||||
|
|
||||||
|
func _process(_delta):
|
||||||
|
if Input.is_action_just_pressed("skip"):
|
||||||
|
startup.frame = startup_finish_frame
|
||||||
|
|
||||||
|
if startup.frame > startup_finish_frame:
|
||||||
|
if not finished_once:
|
||||||
|
emit_signal("startup_finished")
|
||||||
|
new_game_button.ignore_once = true # Pauls russian solution for ignoring the first sound click in the titlescreen
|
||||||
|
new_game_button.grab_focus()
|
||||||
|
animation_player.play("show_buttons")
|
||||||
|
finished_once = true
|
||||||
|
|
||||||
func _exit_tree():
|
func _exit_tree():
|
||||||
SoundControler.pub_stop_music()
|
SoundControler.pub_stop_music()
|
||||||
|
|
||||||
func _on_Startup_startup_finished():
|
func _on_Startup_animation_finished():
|
||||||
new_game_button.ignore_once = true # Pauls russian solution for ignoring the first sound click in the titlescreen
|
startup.play("loop")
|
||||||
new_game_button.grab_focus()
|
|
||||||
animation_player.play("show_buttons")
|
|
||||||
|
|||||||
@@ -158,25 +158,31 @@ tracks/5/keys = {
|
|||||||
[node name="TitleScreen" type="Control"]
|
[node name="TitleScreen" type="Control"]
|
||||||
anchor_left = -0.00168862
|
anchor_left = -0.00168862
|
||||||
anchor_top = -0.003002
|
anchor_top = -0.003002
|
||||||
anchor_right = 0.998311
|
anchor_right = 0.704
|
||||||
anchor_bottom = 0.996998
|
anchor_bottom = 0.667
|
||||||
margin_left = 0.810538
|
margin_left = 0.810538
|
||||||
margin_top = -0.18946
|
margin_top = -0.18946
|
||||||
margin_right = -141.189
|
margin_right = 0.0802612
|
||||||
margin_bottom = -89.1895
|
margin_bottom = -0.0900574
|
||||||
script = ExtResource( 3 )
|
script = ExtResource( 3 )
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
anims/__INIT__ = SubResource( 1 )
|
||||||
|
anims/show_buttons = SubResource( 2 )
|
||||||
|
|
||||||
[node name="Startup" parent="." instance=ExtResource( 2 )]
|
[node name="Startup" parent="." instance=ExtResource( 2 )]
|
||||||
scale = Vector2( 1.50376, 1.50079 )
|
scale = Vector2( 1.50207, 1.49479 )
|
||||||
|
animation = "start"
|
||||||
|
speed_scale = 1.0
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
anchor_left = 0.619068
|
anchor_left = 1.06328
|
||||||
anchor_top = 1.05219
|
anchor_top = 1.04447
|
||||||
anchor_right = 0.965944
|
anchor_right = 1.41015
|
||||||
anchor_bottom = 1.46586
|
anchor_bottom = 1.45814
|
||||||
margin_left = 1.52588e-05
|
margin_left = 1.52588e-05
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_group_": true,
|
"_edit_group_": true,
|
||||||
@@ -207,11 +213,7 @@ quit = true
|
|||||||
|
|
||||||
[node name="Label" parent="VBoxContainer/QuitButton" index="0"]
|
[node name="Label" parent="VBoxContainer/QuitButton" index="0"]
|
||||||
text = "Quit"
|
text = "Quit"
|
||||||
|
[connection signal="animation_finished" from="Startup" to="." method="_on_Startup_animation_finished"]
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
|
||||||
anims/__INIT__ = SubResource( 1 )
|
|
||||||
anims/show_buttons = SubResource( 2 )
|
|
||||||
[connection signal="startup_finished" from="Startup" to="." method="_on_Startup_startup_finished"]
|
|
||||||
|
|
||||||
[editable path="VBoxContainer/NewGameButton"]
|
[editable path="VBoxContainer/NewGameButton"]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,10 @@ class_name TitleSceenButton
|
|||||||
|
|
||||||
export(String, FILE, "*.tscn,*.scn") var scene_to_load = ""
|
export(String, FILE, "*.tscn,*.scn") var scene_to_load = ""
|
||||||
export(bool) var quit = false
|
export(bool) var quit = false
|
||||||
onready var sound_focus = $Sounds/FocusChange
|
|
||||||
onready var sound_select = $Sounds/OptionSelect
|
|
||||||
var ignore_once = false
|
var ignore_once = false
|
||||||
|
|
||||||
func _pressed():
|
func _pressed():
|
||||||
sound_select.play()
|
SoundControler.pub_play_effect("res://Menus/Sounds/menu_option_select.ogg",0)
|
||||||
|
|
||||||
|
|
||||||
func _on_OptionSelect_finished():
|
|
||||||
if quit:
|
if quit:
|
||||||
get_tree().quit()
|
get_tree().quit()
|
||||||
return
|
return
|
||||||
@@ -23,7 +18,8 @@ func _on_TitleScreenButton_mouse_entered():
|
|||||||
grab_focus()
|
grab_focus()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_TitleScreenButton_focus_entered():
|
func _on_TitleScreenButton_focus_entered():
|
||||||
if not ignore_once:
|
if not ignore_once:
|
||||||
sound_focus.play()
|
SoundControler.pub_play_effect("res://Menus/Sounds/menu_focus_change.ogg",0)
|
||||||
ignore_once = false
|
ignore_once = false
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
[gd_scene load_steps=5 format=2]
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Fonts/Harmonic/Harmonic24.tres" type="DynamicFont" id=1]
|
[ext_resource path="res://Fonts/Harmonic/Harmonic24.tres" type="DynamicFont" id=1]
|
||||||
[ext_resource path="res://Menus/TitleScreen/TitleScreenButton.gd" type="Script" id=2]
|
[ext_resource path="res://Menus/TitleScreen/TitleScreenButton.gd" type="Script" id=2]
|
||||||
[ext_resource path="res://Menus/Sounds/menu_focus_change.ogg" type="AudioStream" id=3]
|
|
||||||
[ext_resource path="res://Menus/Sounds/menu_option_select.ogg" type="AudioStream" id=4]
|
|
||||||
|
|
||||||
[node name="TitleScreenButton" type="Button"]
|
[node name="TitleScreenButton" type="Button"]
|
||||||
margin_right = 110.0
|
margin_right = 110.0
|
||||||
@@ -21,14 +19,5 @@ __meta__ = {
|
|||||||
"_edit_use_anchors_": false,
|
"_edit_use_anchors_": false,
|
||||||
"_editor_description_": ""
|
"_editor_description_": ""
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="Sounds" type="Node" parent="."]
|
|
||||||
|
|
||||||
[node name="FocusChange" type="AudioStreamPlayer" parent="Sounds"]
|
|
||||||
stream = ExtResource( 3 )
|
|
||||||
|
|
||||||
[node name="OptionSelect" type="AudioStreamPlayer" parent="Sounds"]
|
|
||||||
stream = ExtResource( 4 )
|
|
||||||
[connection signal="focus_entered" from="." to="." method="_on_TitleScreenButton_focus_entered"]
|
[connection signal="focus_entered" from="." to="." method="_on_TitleScreenButton_focus_entered"]
|
||||||
[connection signal="mouse_entered" from="." to="." method="_on_TitleScreenButton_mouse_entered"]
|
[connection signal="mouse_entered" from="." to="." method="_on_TitleScreenButton_mouse_entered"]
|
||||||
[connection signal="finished" from="Sounds/OptionSelect" to="." method="_on_OptionSelect_finished"]
|
|
||||||
|
|||||||
@@ -1,12 +1,6 @@
|
|||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
|
|
||||||
# Declare member variables here. Examples:
|
|
||||||
# var a = 2
|
|
||||||
# var b = "text"
|
|
||||||
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
|
||||||
func _ready():
|
func _ready():
|
||||||
randomize()
|
randomize()
|
||||||
pass # Replace with function body.
|
pass # Replace with function body.
|
||||||
|
|||||||
Reference in New Issue
Block a user