ready for export
This commit is contained in:
parent
e0c93f0e19
commit
1caed8e5bd
BIN
assets/audio/blank-song.wav
Normal file
BIN
assets/audio/blank-song.wav
Normal file
Binary file not shown.
24
assets/audio/blank-song.wav.import
Normal file
24
assets/audio/blank-song.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://mu1pkwkw3wyu"
|
||||||
|
path="res://.godot/imported/blank-song.wav-2c3b0e1a59785e41d9b1e9c6d2855fc4.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/audio/blank-song.wav"
|
||||||
|
dest_files=["res://.godot/imported/blank-song.wav-2c3b0e1a59785e41d9b1e9c6d2855fc4.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
BIN
assets/audio/eine-kleine-blank.wav
Normal file
BIN
assets/audio/eine-kleine-blank.wav
Normal file
Binary file not shown.
24
assets/audio/eine-kleine-blank.wav.import
Normal file
24
assets/audio/eine-kleine-blank.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://diaivgv13xa8k"
|
||||||
|
path="res://.godot/imported/eine-kleine-blank.wav-3cf1079fa8dd4d381dc4d6fbd9e452b1.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/audio/eine-kleine-blank.wav"
|
||||||
|
dest_files=["res://.godot/imported/eine-kleine-blank.wav-3cf1079fa8dd4d381dc4d6fbd9e452b1.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
BIN
assets/audio/eine-kleine-fast.wav
Normal file
BIN
assets/audio/eine-kleine-fast.wav
Normal file
Binary file not shown.
24
assets/audio/eine-kleine-fast.wav.import
Normal file
24
assets/audio/eine-kleine-fast.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://b6xe72a7nd2ol"
|
||||||
|
path="res://.godot/imported/eine-kleine-fast.wav-ee8157a6ec683ee91b7a1ba81656729d.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/audio/eine-kleine-fast.wav"
|
||||||
|
dest_files=["res://.godot/imported/eine-kleine-fast.wav-ee8157a6ec683ee91b7a1ba81656729d.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
BIN
assets/audio/eine-kleine-intro.wav
Normal file
BIN
assets/audio/eine-kleine-intro.wav
Normal file
Binary file not shown.
24
assets/audio/eine-kleine-intro.wav.import
Normal file
24
assets/audio/eine-kleine-intro.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://dlvawr3wv7ob4"
|
||||||
|
path="res://.godot/imported/eine-kleine-intro.wav-62220a455d3d38061ded9a60d4a6ec3e.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/audio/eine-kleine-intro.wav"
|
||||||
|
dest_files=["res://.godot/imported/eine-kleine-intro.wav-62220a455d3d38061ded9a60d4a6ec3e.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
BIN
assets/misc/outro-screen-ALBM.png
Normal file
BIN
assets/misc/outro-screen-ALBM.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 193 KiB |
40
assets/misc/outro-screen-ALBM.png.import
Normal file
40
assets/misc/outro-screen-ALBM.png.import
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cveidfttgu174"
|
||||||
|
path="res://.godot/imported/outro-screen-ALBM.png-c8b007393368a82095cf4821f4bb0e54.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/misc/outro-screen-ALBM.png"
|
||||||
|
dest_files=["res://.godot/imported/outro-screen-ALBM.png-c8b007393368a82095cf4821f4bb0e54.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/misc/splash-screen-ALBM.png
Normal file
BIN
assets/misc/splash-screen-ALBM.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 193 KiB |
40
assets/misc/splash-screen-ALBM.png.import
Normal file
40
assets/misc/splash-screen-ALBM.png.import
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cicani7q1g5p"
|
||||||
|
path="res://.godot/imported/splash-screen-ALBM.png-d99bf01ddeac6f659a3371a4f4322275.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/misc/splash-screen-ALBM.png"
|
||||||
|
dest_files=["res://.godot/imported/splash-screen-ALBM.png-d99bf01ddeac6f659a3371a4f4322275.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/ui/keyboard_x.png
Normal file
BIN
assets/ui/keyboard_x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 408 B |
40
assets/ui/keyboard_x.png.import
Normal file
40
assets/ui/keyboard_x.png.import
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://4apr80conxxu"
|
||||||
|
path="res://.godot/imported/keyboard_x.png-2b6f22848ca94cdb13d5e35617c64312.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/ui/keyboard_x.png"
|
||||||
|
dest_files=["res://.godot/imported/keyboard_x.png-2b6f22848ca94cdb13d5e35617c64312.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
assets/ui/keyboard_x_outline.png
Normal file
BIN
assets/ui/keyboard_x_outline.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 450 B |
40
assets/ui/keyboard_x_outline.png.import
Normal file
40
assets/ui/keyboard_x_outline.png.import
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://doepfsn70f3we"
|
||||||
|
path="res://.godot/imported/keyboard_x_outline.png-ba4481e0ca0cc0ecf687f4f48d171968.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/ui/keyboard_x_outline.png"
|
||||||
|
dest_files=["res://.godot/imported/keyboard_x_outline.png-ba4481e0ca0cc0ecf687f4f48d171968.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
49
export_presets.cfg
Normal file
49
export_presets.cfg
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
[preset.0]
|
||||||
|
|
||||||
|
name="Web"
|
||||||
|
platform="Web"
|
||||||
|
runnable=true
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter=""
|
||||||
|
export_path=""
|
||||||
|
patches=PackedStringArray()
|
||||||
|
patch_delta_encoding=false
|
||||||
|
patch_delta_compression_level_zstd=19
|
||||||
|
patch_delta_min_reduction=0.1
|
||||||
|
patch_delta_include_filters="*"
|
||||||
|
patch_delta_exclude_filters=""
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
seed=0
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
|
[preset.0.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
variant/extensions_support=false
|
||||||
|
variant/thread_support=false
|
||||||
|
vram_texture_compression/for_desktop=true
|
||||||
|
vram_texture_compression/for_mobile=false
|
||||||
|
html/export_icon=true
|
||||||
|
html/custom_html_shell=""
|
||||||
|
html/head_include=""
|
||||||
|
html/canvas_resize_policy=2
|
||||||
|
html/focus_canvas_on_start=true
|
||||||
|
html/experimental_virtual_keyboard=false
|
||||||
|
progressive_web_app/enabled=false
|
||||||
|
progressive_web_app/ensure_cross_origin_isolation_headers=true
|
||||||
|
progressive_web_app/offline_page=""
|
||||||
|
progressive_web_app/display=1
|
||||||
|
progressive_web_app/orientation=0
|
||||||
|
progressive_web_app/icon_144x144=""
|
||||||
|
progressive_web_app/icon_180x180=""
|
||||||
|
progressive_web_app/icon_512x512=""
|
||||||
|
progressive_web_app/background_color=Color(0, 0, 0, 1)
|
||||||
|
threads/emscripten_pool_size=8
|
||||||
|
threads/godot_pool_size=4
|
||||||
@ -11,8 +11,9 @@ config_version=5
|
|||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="trijam-363-conductor"
|
config/name="trijam-363-conductor"
|
||||||
run/main_scene="uid://irgt7rn5kfap"
|
run/main_scene="uid://bbw7g5cdqgafr"
|
||||||
config/features=PackedStringArray("4.6", "Forward Plus")
|
config/features=PackedStringArray("4.6", "Forward Plus")
|
||||||
|
boot_splash/image="uid://cicani7q1g5p"
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
[autoload]
|
[autoload]
|
||||||
@ -26,6 +27,12 @@ window/size/viewport_height=720
|
|||||||
|
|
||||||
[input]
|
[input]
|
||||||
|
|
||||||
|
ui_accept={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
viol={
|
viol={
|
||||||
"deadzone": 0.2,
|
"deadzone": 0.2,
|
||||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":86,"key_label":0,"unicode":118,"location":0,"echo":false,"script":null)
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":86,"key_label":0,"unicode":118,"location":0,"echo":false,"script":null)
|
||||||
@ -61,6 +68,11 @@ sample={
|
|||||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null)
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
execute={
|
||||||
|
"deadzone": 0.2,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":88,"key_label":0,"unicode":120,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
[physics]
|
[physics]
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,4 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://cctoyonq28i8q" path="res://assets/ui/keyboard_v_outline.png" id="1_tpl0e"]
|
[ext_resource type="Texture2D" uid="uid://cctoyonq28i8q" path="res://assets/ui/keyboard_v_outline.png" id="1_tpl0e"]
|
||||||
|
|
||||||
[node name="InputPrompt" type="Sprite2D" unique_id=590379112]
|
[node name="InputPrompt" type="Sprite2D" unique_id=590379112]
|
||||||
position = Vector2(0, 24)
|
|
||||||
scale = Vector2(0.25, 0.25)
|
|
||||||
texture = ExtResource("1_tpl0e")
|
texture = ExtResource("1_tpl0e")
|
||||||
|
|||||||
34
scenes/intro.tscn
Normal file
34
scenes/intro.tscn
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[gd_scene format=3 uid="uid://bbw7g5cdqgafr"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cicani7q1g5p" path="res://assets/misc/splash-screen-ALBM.png" id="1_ioskq"]
|
||||||
|
[ext_resource type="Script" uid="uid://o45uvey2wnsb" path="res://scripts/intro.gd" id="1_yjqpq"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://dlvawr3wv7ob4" path="res://assets/audio/eine-kleine-intro.wav" id="3_4bx60"]
|
||||||
|
|
||||||
|
[node name="Intro" type="Control" unique_id=1666938959]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
script = ExtResource("1_yjqpq")
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="." unique_id=244917967]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
texture = ExtResource("1_ioskq")
|
||||||
|
|
||||||
|
[node name="StartButton" type="Button" parent="." unique_id=328829953]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 508.0
|
||||||
|
offset_top = 361.0
|
||||||
|
offset_right = 754.0
|
||||||
|
offset_bottom = 468.0
|
||||||
|
theme_override_font_sizes/font_size = 72
|
||||||
|
text = "BEGIN"
|
||||||
|
|
||||||
|
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="." unique_id=539142729]
|
||||||
|
stream = ExtResource("3_4bx60")
|
||||||
|
autoplay = true
|
||||||
@ -23,16 +23,46 @@ position = Vector2(7, -6)
|
|||||||
|
|
||||||
[node name="Conductor" parent="Musicians" unique_id=338073346 instance=ExtResource("8_tipki")]
|
[node name="Conductor" parent="Musicians" unique_id=338073346 instance=ExtResource("8_tipki")]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
position = Vector2(9, 32)
|
position = Vector2(-15, 39)
|
||||||
|
|
||||||
[node name="Cellist" parent="Musicians" unique_id=233159387 instance=ExtResource("6_85g3d")]
|
[node name="Cellist" parent="Musicians" unique_id=233159387 instance=ExtResource("6_85g3d")]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
position = Vector2(18, 9)
|
position = Vector2(-59, 36)
|
||||||
|
|
||||||
[node name="Violinist" parent="Musicians" unique_id=557143802 instance=ExtResource("7_choun")]
|
[node name="Violinist" parent="Musicians" unique_id=557143802 instance=ExtResource("7_choun")]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
position = Vector2(-48, 26)
|
position = Vector2(-13, 6)
|
||||||
|
|
||||||
[node name="Bassist" parent="Musicians" unique_id=884981738 instance=ExtResource("8_ya4ey")]
|
[node name="Bassist" parent="Musicians" unique_id=884981738 instance=ExtResource("8_ya4ey")]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
position = Vector2(-32, -1)
|
position = Vector2(33, 38)
|
||||||
|
|
||||||
|
[node name="UI" type="CanvasLayer" parent="." unique_id=731230116]
|
||||||
|
|
||||||
|
[node name="InstructionsBox" type="VBoxContainer" parent="UI" unique_id=135409027]
|
||||||
|
anchors_preset = 5
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
offset_left = -400.0
|
||||||
|
offset_top = 300.0
|
||||||
|
offset_right = 400.0
|
||||||
|
offset_bottom = 466.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
|
||||||
|
[node name="Instructions" type="Label" parent="UI/InstructionsBox" unique_id=957159240]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
custom_minimum_size = Vector2(800, 80)
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_font_sizes/font_size = 24
|
||||||
|
text = "Placeholder Instructions!"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
autowrap_mode = 3
|
||||||
|
|
||||||
|
[node name="OKButton" type="Button" parent="UI/InstructionsBox" unique_id=462603065]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 4
|
||||||
|
size_flags_vertical = 4
|
||||||
|
theme_override_font_sizes/font_size = 24
|
||||||
|
text = "CONTINUE"
|
||||||
|
|||||||
@ -3,16 +3,41 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://irgt7rn5kfap" path="res://scenes/levels/level.tscn" id="1_sxr8l"]
|
[ext_resource type="PackedScene" uid="uid://irgt7rn5kfap" path="res://scenes/levels/level.tscn" id="1_sxr8l"]
|
||||||
|
|
||||||
[node name="Level0" unique_id=1319338792 instance=ExtResource("1_sxr8l")]
|
[node name="Level0" unique_id=1319338792 instance=ExtResource("1_sxr8l")]
|
||||||
|
instruction_strings = Array[String](["This is the tutorial level; the little person below is the CONDUCTOR", "When you're ready, press the spacebar to start the music", "OK, so if you've done that, you've probably noticed that the \"music\" here is just a click track...", "...and that it may already be muted. ", "That's a feature, not a bug!", "To turn it back up, press the \"X\" key.", "(\"X\" as in ... \"eXecute\"? ... and like the little button next to the conductor)", "(It'll make more sense in a minute.)", "OK, so now you've probably noticed that you have to *keep* pressing \"X\" to keep the volume up.", "Every time you push \"X\", it *boosts* the volume back up", "And after some time, the volume drops back down on its own", "(This time gets shorter as the game goes on.)", "When you've had enough of the click track, hit \"CONTINUE\" once more to move on"])
|
||||||
|
|
||||||
[node name="Cellist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="1" unique_id=233159387]
|
[node name="Cellist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="1" unique_id=233159387]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
|
[node name="VolumeBar" parent="Musicians/Cellist/InputPrompt" parent_id_path=PackedInt32Array(233159387, 1882230995) index="0" unique_id=2023225709]
|
||||||
|
custom_minimum_size = Vector2(24, 48)
|
||||||
|
offset_left = -32.0
|
||||||
|
offset_top = -25.0
|
||||||
|
offset_right = -8.0
|
||||||
|
offset_bottom = 23.0
|
||||||
|
|
||||||
[node name="Violinist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="2" unique_id=557143802]
|
[node name="Violinist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="2" unique_id=557143802]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
|
[node name="VolumeBar" parent="Musicians/Violinist/InputPrompt" parent_id_path=PackedInt32Array(557143802, 1882230995) index="0" unique_id=2023225709]
|
||||||
|
custom_minimum_size = Vector2(24, 48)
|
||||||
|
offset_left = 8.0
|
||||||
|
offset_top = -25.0
|
||||||
|
offset_right = 32.000015
|
||||||
|
offset_bottom = 23.0
|
||||||
|
|
||||||
[node name="Bassist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="3" unique_id=884981738]
|
[node name="Bassist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="3" unique_id=884981738]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
|
[node name="VolumeBar" parent="Musicians/Bassist/InputPrompt" parent_id_path=PackedInt32Array(884981738, 1882230995) index="0" unique_id=2023225709]
|
||||||
|
custom_minimum_size = Vector2(24, 48)
|
||||||
|
offset_left = 8.0
|
||||||
|
offset_top = -25.0
|
||||||
|
offset_right = 32.0
|
||||||
|
offset_bottom = 23.0
|
||||||
|
|
||||||
|
[node name="Instructions" parent="UI/InstructionsBox" parent_id_path=PackedInt32Array(135409027) index="0" unique_id=957159240]
|
||||||
|
text = "Welcome to \"A Little Byte-Music\""
|
||||||
|
|
||||||
[editable path="Musicians/Conductor"]
|
[editable path="Musicians/Conductor"]
|
||||||
[editable path="Musicians/Cellist"]
|
[editable path="Musicians/Cellist"]
|
||||||
[editable path="Musicians/Violinist"]
|
[editable path="Musicians/Violinist"]
|
||||||
|
|||||||
@ -3,6 +3,8 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://irgt7rn5kfap" path="res://scenes/levels/level.tscn" id="1_x6ivy"]
|
[ext_resource type="PackedScene" uid="uid://irgt7rn5kfap" path="res://scenes/levels/level.tscn" id="1_x6ivy"]
|
||||||
|
|
||||||
[node name="Level1" unique_id=1319338792 instance=ExtResource("1_x6ivy")]
|
[node name="Level1" unique_id=1319338792 instance=ExtResource("1_x6ivy")]
|
||||||
|
level_number = 1
|
||||||
|
instruction_strings = Array[String](["In this case, it's the Bassist. Let's call them Bradley.", "This time around, pressing spacebar will actually trigger actual music...", "(Also, instead of pressing \"X\", you'll have to press \"B\" to keep Bradley playing.)", "But be careful! If you try to boost while the volume's already boosted, it won't sound good.", "(You'll also have to restart the level*.)", "(*in future versions.)", "If you haven't already, go ahead and hit spacebar to play the bass track!", "If the song's over, you can hit spacebar again to try again, or click continue to move on."])
|
||||||
|
|
||||||
[node name="Cellist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="1" unique_id=233159387]
|
[node name="Cellist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="1" unique_id=233159387]
|
||||||
visible = false
|
visible = false
|
||||||
@ -10,6 +12,12 @@ visible = false
|
|||||||
[node name="Violinist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="2" unique_id=557143802]
|
[node name="Violinist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="2" unique_id=557143802]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
|
[node name="Bassist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="3" unique_id=884981738]
|
||||||
|
position = Vector2(35, 28)
|
||||||
|
|
||||||
|
[node name="Instructions" parent="UI/InstructionsBox" parent_id_path=PackedInt32Array(135409027) index="0" unique_id=957159240]
|
||||||
|
text = "Oh look, it's a musician!"
|
||||||
|
|
||||||
[editable path="Musicians/Conductor"]
|
[editable path="Musicians/Conductor"]
|
||||||
[editable path="Musicians/Cellist"]
|
[editable path="Musicians/Cellist"]
|
||||||
[editable path="Musicians/Violinist"]
|
[editable path="Musicians/Violinist"]
|
||||||
|
|||||||
@ -3,10 +3,21 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://irgt7rn5kfap" path="res://scenes/levels/level.tscn" id="1_j2425"]
|
[ext_resource type="PackedScene" uid="uid://irgt7rn5kfap" path="res://scenes/levels/level.tscn" id="1_j2425"]
|
||||||
|
|
||||||
[node name="Level2" unique_id=1319338792 instance=ExtResource("1_j2425")]
|
[node name="Level2" unique_id=1319338792 instance=ExtResource("1_j2425")]
|
||||||
|
level_number = 2
|
||||||
|
instruction_strings = Array[String](["This is the Cellist; let's call them Charlie!", "Charlie needs a little more prompting, so their volume meter runs down more quickly", "And of course, you still need to keep Bradley on time.", "(Conducting is hard!)", "Again, press spacebar to start/stop/restart the song.", "And when you're ready for the last level, click CONTINUE."])
|
||||||
|
|
||||||
|
[node name="Cellist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="1" unique_id=233159387]
|
||||||
|
position = Vector2(-63, 29)
|
||||||
|
|
||||||
[node name="Violinist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="2" unique_id=557143802]
|
[node name="Violinist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="2" unique_id=557143802]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
|
[node name="Bassist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="3" unique_id=884981738]
|
||||||
|
position = Vector2(35, 28)
|
||||||
|
|
||||||
|
[node name="Instructions" parent="UI/InstructionsBox" parent_id_path=PackedInt32Array(135409027) index="0" unique_id=957159240]
|
||||||
|
text = "Whoa, another one!"
|
||||||
|
|
||||||
[editable path="Musicians/Conductor"]
|
[editable path="Musicians/Conductor"]
|
||||||
[editable path="Musicians/Cellist"]
|
[editable path="Musicians/Cellist"]
|
||||||
[editable path="Musicians/Violinist"]
|
[editable path="Musicians/Violinist"]
|
||||||
|
|||||||
@ -3,6 +3,20 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://irgt7rn5kfap" path="res://scenes/levels/level.tscn" id="1_o8c3j"]
|
[ext_resource type="PackedScene" uid="uid://irgt7rn5kfap" path="res://scenes/levels/level.tscn" id="1_o8c3j"]
|
||||||
|
|
||||||
[node name="Level3" unique_id=1319338792 instance=ExtResource("1_o8c3j")]
|
[node name="Level3" unique_id=1319338792 instance=ExtResource("1_o8c3j")]
|
||||||
|
level_number = 3
|
||||||
|
instruction_strings = Array[String](["Vic the Violinist is *such* a diva, and needs nearly constant attention.", "But of course, you can't neglect Bradley and Charlie.", "Go ahead and press spacebar, and see how you do!", ""])
|
||||||
|
|
||||||
|
[node name="Cellist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="1" unique_id=233159387]
|
||||||
|
position = Vector2(-63, 29)
|
||||||
|
|
||||||
|
[node name="Violinist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="2" unique_id=557143802]
|
||||||
|
position = Vector2(-11, -1)
|
||||||
|
|
||||||
|
[node name="Bassist" parent="Musicians" parent_id_path=PackedInt32Array(237973745) index="3" unique_id=884981738]
|
||||||
|
position = Vector2(35, 28)
|
||||||
|
|
||||||
|
[node name="Instructions" parent="UI/InstructionsBox" parent_id_path=PackedInt32Array(135409027) index="0" unique_id=957159240]
|
||||||
|
text = "Last level! The whole band is here now."
|
||||||
|
|
||||||
[editable path="Musicians/Conductor"]
|
[editable path="Musicians/Conductor"]
|
||||||
[editable path="Musicians/Cellist"]
|
[editable path="Musicians/Cellist"]
|
||||||
|
|||||||
@ -2,31 +2,27 @@
|
|||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://c1tceq1kcqngi" path="res://scenes/musicians/musician.tscn" id="1_ec361"]
|
[ext_resource type="PackedScene" uid="uid://c1tceq1kcqngi" path="res://scenes/musicians/musician.tscn" id="1_ec361"]
|
||||||
[ext_resource type="SpriteFrames" uid="uid://c34ha4ekm1xor" path="res://resources/sprite_frames/bass_sprite_frames.tres" id="2_58d2m"]
|
[ext_resource type="SpriteFrames" uid="uid://c34ha4ekm1xor" path="res://resources/sprite_frames/bass_sprite_frames.tres" id="2_58d2m"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bw3nb0oru0pam" path="res://assets/ui/keyboard_b.png" id="3_qpy72"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bmc2ijkmfndv7" path="res://assets/ui/keyboard_b_outline.png" id="4_5nfdv"]
|
[ext_resource type="Texture2D" uid="uid://bmc2ijkmfndv7" path="res://assets/ui/keyboard_b_outline.png" id="4_5nfdv"]
|
||||||
[ext_resource type="AudioStream" uid="uid://cc6smyxkrrvfr" path="res://assets/audio/eine-kleine-bass.wav" id="5_58d2m"]
|
[ext_resource type="AudioStream" uid="uid://cc6smyxkrrvfr" path="res://assets/audio/eine-kleine-bass.wav" id="5_58d2m"]
|
||||||
[ext_resource type="PackedScene" uid="uid://r5ec5td6b2b2" path="res://scenes/tilemaps.tscn" id="6_qpy72"]
|
|
||||||
|
|
||||||
[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_58d2m"]
|
[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_58d2m"]
|
||||||
polygon = PackedVector2Array(-2, 13, 3, 14, 6, 13)
|
polygon = PackedVector2Array(-6, 14, -3, 15, 2, 14)
|
||||||
|
|
||||||
[node name="Bassist" unique_id=233159387 instance=ExtResource("1_ec361")]
|
[node name="Bassist" unique_id=233159387 instance=ExtResource("1_ec361")]
|
||||||
sprite_frames = ExtResource("2_58d2m")
|
sprite_frames = ExtResource("2_58d2m")
|
||||||
solid_texture = ExtResource("3_qpy72")
|
frame_progress = 0.0
|
||||||
outline_texture = ExtResource("4_5nfdv")
|
flip_h = true
|
||||||
|
input_action = "bass"
|
||||||
|
|
||||||
[node name="Audio" parent="." index="0" unique_id=1183742914]
|
[node name="Audio" parent="." index="0" unique_id=1183742914]
|
||||||
stream = ExtResource("5_58d2m")
|
stream = ExtResource("5_58d2m")
|
||||||
|
|
||||||
[node name="Light" parent="." index="1" unique_id=428469575]
|
[node name="Light" parent="." index="1" unique_id=428469575]
|
||||||
position = Vector2(7, 7)
|
position = Vector2(1, 6)
|
||||||
|
|
||||||
[node name="Occluder" parent="." index="2" unique_id=807216766]
|
[node name="Occluder" parent="." index="2" unique_id=807216766]
|
||||||
occluder = SubResource("OccluderPolygon2D_58d2m")
|
occluder = SubResource("OccluderPolygon2D_58d2m")
|
||||||
|
|
||||||
[node name="InputPrompt" parent="." index="3" unique_id=590379112]
|
[node name="InputPrompt" parent="." index="7" unique_id=1882230995]
|
||||||
position = Vector2(18, 4)
|
position = Vector2(-16, 0)
|
||||||
texture = ExtResource("4_5nfdv")
|
texture = ExtResource("4_5nfdv")
|
||||||
|
|
||||||
[node name="Tilemaps" parent="." index="4" unique_id=875292520 instance=ExtResource("6_qpy72")]
|
|
||||||
visible = false
|
|
||||||
|
|||||||
@ -5,16 +5,17 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://dahurq3y0kh20" path="res://assets/ui/keyboard_c.png" id="3_vjovb"]
|
[ext_resource type="Texture2D" uid="uid://dahurq3y0kh20" path="res://assets/ui/keyboard_c.png" id="3_vjovb"]
|
||||||
[ext_resource type="Texture2D" uid="uid://d1onhhk6xorit" path="res://assets/ui/keyboard_c_outline.png" id="4_vmq6l"]
|
[ext_resource type="Texture2D" uid="uid://d1onhhk6xorit" path="res://assets/ui/keyboard_c_outline.png" id="4_vmq6l"]
|
||||||
[ext_resource type="AudioStream" uid="uid://duovjdbif7wkw" path="res://assets/audio/eine-kleine-cello.wav" id="5_vjovb"]
|
[ext_resource type="AudioStream" uid="uid://duovjdbif7wkw" path="res://assets/audio/eine-kleine-cello.wav" id="5_vjovb"]
|
||||||
[ext_resource type="PackedScene" uid="uid://r5ec5td6b2b2" path="res://scenes/tilemaps.tscn" id="6_vmq6l"]
|
|
||||||
|
|
||||||
[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_vjovb"]
|
[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_vjovb"]
|
||||||
polygon = PackedVector2Array(-4, 16, -7, 14, 0, 13)
|
polygon = PackedVector2Array(-4, 16, -7, 14, 0, 13)
|
||||||
|
|
||||||
[node name="Cellist" unique_id=233159387 instance=ExtResource("1_gkxwc")]
|
[node name="Cellist" unique_id=233159387 instance=ExtResource("1_gkxwc")]
|
||||||
sprite_frames = ExtResource("2_3cfa0")
|
sprite_frames = ExtResource("2_3cfa0")
|
||||||
flip_h = true
|
frame_progress = 0.0
|
||||||
solid_texture = ExtResource("3_vjovb")
|
solid_texture = ExtResource("3_vjovb")
|
||||||
outline_texture = ExtResource("4_vmq6l")
|
outline_texture = ExtResource("4_vmq6l")
|
||||||
|
boost_note_type = 2
|
||||||
|
input_action = "cello"
|
||||||
|
|
||||||
[node name="Audio" parent="." index="0" unique_id=1183742914]
|
[node name="Audio" parent="." index="0" unique_id=1183742914]
|
||||||
stream = ExtResource("5_vjovb")
|
stream = ExtResource("5_vjovb")
|
||||||
@ -25,9 +26,5 @@ position = Vector2(8, 5)
|
|||||||
[node name="Occluder" parent="." index="2" unique_id=807216766]
|
[node name="Occluder" parent="." index="2" unique_id=807216766]
|
||||||
occluder = SubResource("OccluderPolygon2D_vjovb")
|
occluder = SubResource("OccluderPolygon2D_vjovb")
|
||||||
|
|
||||||
[node name="InputPrompt" parent="." index="3" unique_id=590379112]
|
[node name="InputPrompt" parent="." index="8" unique_id=1882230995]
|
||||||
position = Vector2(17, 3)
|
|
||||||
texture = ExtResource("4_vmq6l")
|
texture = ExtResource("4_vmq6l")
|
||||||
|
|
||||||
[node name="Tilemaps" parent="." index="4" unique_id=875292520 instance=ExtResource("6_vmq6l")]
|
|
||||||
visible = false
|
|
||||||
|
|||||||
@ -1,19 +1,24 @@
|
|||||||
[gd_scene format=3 uid="uid://drwm126itwavd"]
|
[gd_scene format=3 uid="uid://drwm126itwavd"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://c1tceq1kcqngi" path="res://scenes/musicians/musician.tscn" id="1_td0jb"]
|
[ext_resource type="PackedScene" uid="uid://c1tceq1kcqngi" path="res://scenes/musicians/musician.tscn" id="1_td0jb"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bcw48038qg8od" path="res://assets/ui/keyboard_r.png" id="3_lajfc"]
|
[ext_resource type="SpriteFrames" uid="uid://brmhup007maeh" path="res://resources/sprite_frames/conductor_sprite_frames.tres" id="2_lajfc"]
|
||||||
[ext_resource type="Texture2D" uid="uid://do6jqp2l6nmwm" path="res://assets/ui/keyboard_r_outline.png" id="4_grljo"]
|
|
||||||
[ext_resource type="AudioStream" uid="uid://b8n6p428csquv" path="res://assets/audio/eine-kleine-click.wav" id="5_grljo"]
|
[ext_resource type="AudioStream" uid="uid://b8n6p428csquv" path="res://assets/audio/eine-kleine-click.wav" id="5_grljo"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://doepfsn70f3we" path="res://assets/ui/keyboard_x_outline.png" id="6_4kkbu"]
|
||||||
|
|
||||||
[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_lajfc"]
|
[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_lajfc"]
|
||||||
polygon = PackedVector2Array(-4, 15, -2, 14, 0, 14)
|
polygon = PackedVector2Array(-1, 14, 2, 14, 4, 15)
|
||||||
|
|
||||||
[node name="Conductor" unique_id=233159387 instance=ExtResource("1_td0jb")]
|
[node name="Conductor" unique_id=233159387 instance=ExtResource("1_td0jb")]
|
||||||
solid_texture = ExtResource("3_lajfc")
|
sprite_frames = ExtResource("2_lajfc")
|
||||||
outline_texture = ExtResource("4_grljo")
|
frame_progress = 0.0
|
||||||
|
flip_h = true
|
||||||
|
input_action = "execute"
|
||||||
|
|
||||||
[node name="Audio" parent="." index="0" unique_id=1183742914]
|
[node name="Audio" parent="." index="0" unique_id=1183742914]
|
||||||
stream = ExtResource("5_grljo")
|
stream = ExtResource("5_grljo")
|
||||||
|
|
||||||
[node name="Occluder" parent="." index="2" unique_id=807216766]
|
[node name="Occluder" parent="." index="2" unique_id=807216766]
|
||||||
occluder = SubResource("OccluderPolygon2D_lajfc")
|
occluder = SubResource("OccluderPolygon2D_lajfc")
|
||||||
|
|
||||||
|
[node name="InputPrompt" parent="." index="7" unique_id=1882230995]
|
||||||
|
texture = ExtResource("6_4kkbu")
|
||||||
|
|||||||
@ -2,11 +2,9 @@
|
|||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://42h7vrqekyma" path="res://assets/sprites/symphonyguys.png" id="1_7bqbn"]
|
[ext_resource type="Texture2D" uid="uid://42h7vrqekyma" path="res://assets/sprites/symphonyguys.png" id="1_7bqbn"]
|
||||||
[ext_resource type="Script" uid="uid://djmn4qgj45j2p" path="res://scripts/musician.gd" id="1_ksqn6"]
|
[ext_resource type="Script" uid="uid://djmn4qgj45j2p" path="res://scripts/musician.gd" id="1_ksqn6"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cacp5ppga66l8" path="res://assets/ui/keyboard_s.svg" id="3_1d8vp"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://cwdkw1p371bks" path="res://scenes/input_prompt.tscn" id="3_6yfn3"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://ckx47081eegis" path="res://scenes/light.tscn" id="3_svwww"]
|
[ext_resource type="PackedScene" uid="uid://ckx47081eegis" path="res://scenes/light.tscn" id="3_svwww"]
|
||||||
[ext_resource type="Texture2D" uid="uid://ck6iss1he1kpq" path="res://assets/ui/keyboard_s_outline.svg" id="4_vrlc6"]
|
[ext_resource type="Texture2D" uid="uid://ck6iss1he1kpq" path="res://assets/ui/keyboard_s_outline.svg" id="4_vrlc6"]
|
||||||
[ext_resource type="AudioStream" uid="uid://b13l86o40lpvg" path="res://assets/audio/drone-trombone.wav" id="5_1d8vp"]
|
[ext_resource type="AudioStream" uid="uid://bd01iv6fpqbdh" path="res://assets/audio/eine-kleine-viol.wav" id="5_1d8vp"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5pb5f"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_5pb5f"]
|
||||||
atlas = ExtResource("1_7bqbn")
|
atlas = ExtResource("1_7bqbn")
|
||||||
@ -52,14 +50,33 @@ animations = [{
|
|||||||
[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_1d8vp"]
|
[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_1d8vp"]
|
||||||
polygon = PackedVector2Array(-4, 14, -1, 13, 0, 14)
|
polygon = PackedVector2Array(-4, 14, -1, 13, 0, 14)
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1d8vp"]
|
||||||
|
bg_color = Color(0.6, 0.6, 0.6, 0)
|
||||||
|
draw_center = false
|
||||||
|
corner_radius_top_left = 8
|
||||||
|
corner_radius_top_right = 8
|
||||||
|
corner_radius_bottom_right = 8
|
||||||
|
corner_radius_bottom_left = 8
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_7bqbn"]
|
||||||
|
bg_color = Color(0, 0, 0, 1)
|
||||||
|
border_width_left = 2
|
||||||
|
border_width_top = 2
|
||||||
|
border_width_right = 2
|
||||||
|
border_width_bottom = 2
|
||||||
|
border_color = Color(0.8, 0.8, 0.8, 0)
|
||||||
|
corner_radius_top_left = 8
|
||||||
|
corner_radius_top_right = 8
|
||||||
|
corner_radius_bottom_right = 8
|
||||||
|
corner_radius_bottom_left = 8
|
||||||
|
|
||||||
[node name="Musician" type="AnimatedSprite2D" unique_id=233159387]
|
[node name="Musician" type="AnimatedSprite2D" unique_id=233159387]
|
||||||
sprite_frames = SubResource("SpriteFrames_1b7aj")
|
sprite_frames = SubResource("SpriteFrames_1b7aj")
|
||||||
animation = &"idle"
|
animation = &"idle"
|
||||||
autoplay = "idle"
|
autoplay = "idle"
|
||||||
frame_progress = 0.25206318
|
frame_progress = 0.4639073
|
||||||
script = ExtResource("1_ksqn6")
|
script = ExtResource("1_ksqn6")
|
||||||
solid_texture = ExtResource("3_1d8vp")
|
boost_note_type = 4
|
||||||
outline_texture = ExtResource("4_vrlc6")
|
|
||||||
input_action = "sample"
|
input_action = "sample"
|
||||||
|
|
||||||
[node name="Audio" type="AudioStreamPlayer2D" parent="." unique_id=1183742914]
|
[node name="Audio" type="AudioStreamPlayer2D" parent="." unique_id=1183742914]
|
||||||
@ -74,25 +91,46 @@ position = Vector2(4, 9)
|
|||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
occluder = SubResource("OccluderPolygon2D_1d8vp")
|
occluder = SubResource("OccluderPolygon2D_1d8vp")
|
||||||
|
|
||||||
[node name="InputPrompt" parent="." unique_id=590379112 instance=ExtResource("3_6yfn3")]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
position = Vector2(16, 0)
|
|
||||||
texture = ExtResource("4_vrlc6")
|
|
||||||
|
|
||||||
[node name="MusicianCamera" type="Camera2D" parent="." unique_id=478462884]
|
[node name="MusicianCamera" type="Camera2D" parent="." unique_id=478462884]
|
||||||
zoom = Vector2(12, 12)
|
zoom = Vector2(12, 12)
|
||||||
|
editor_draw_screen = false
|
||||||
|
|
||||||
[node name="VolumeBar" type="ProgressBar" parent="." unique_id=2023225709]
|
[node name="BoostTimer" type="Timer" parent="." unique_id=1715371353]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
custom_minimum_size = Vector2(24, 48)
|
|
||||||
offset_left = 25.0
|
[node name="BeatTimer" type="Timer" parent="." unique_id=1308693046]
|
||||||
offset_top = -25.0
|
unique_name_in_owner = true
|
||||||
offset_right = 49.0
|
|
||||||
offset_bottom = 23.0
|
[node name="BeatParticles" type="CPUParticles2D" parent="." unique_id=1182124992]
|
||||||
|
light_mask = 0
|
||||||
|
position = Vector2(0, -15)
|
||||||
|
emitting = false
|
||||||
|
lifetime = 0.15000000000000002
|
||||||
|
one_shot = true
|
||||||
|
direction = Vector2(0, -1)
|
||||||
|
spread = 30.0
|
||||||
|
gravity = Vector2(0, 490)
|
||||||
|
initial_velocity_min = 75.0
|
||||||
|
initial_velocity_max = 100.0
|
||||||
|
|
||||||
|
[node name="InputPrompt" type="Sprite2D" parent="." unique_id=1882230995]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
position = Vector2(16, 0)
|
||||||
|
scale = Vector2(0.25, 0.25)
|
||||||
|
texture = ExtResource("4_vrlc6")
|
||||||
|
|
||||||
|
[node name="VolumeBar" type="ProgressBar" parent="InputPrompt" unique_id=2023225709]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
show_behind_parent = true
|
||||||
|
light_mask = 0
|
||||||
|
custom_minimum_size = Vector2(48, 48)
|
||||||
|
offset_left = -24.0
|
||||||
|
offset_top = -24.0
|
||||||
|
offset_right = 24.0
|
||||||
|
offset_bottom = 24.0
|
||||||
|
theme_override_styles/background = SubResource("StyleBoxFlat_1d8vp")
|
||||||
|
theme_override_styles/fill = SubResource("StyleBoxFlat_7bqbn")
|
||||||
min_value = -80.0
|
min_value = -80.0
|
||||||
max_value = 0.0
|
max_value = 0.0
|
||||||
fill_mode = 3
|
fill_mode = 3
|
||||||
show_percentage = false
|
show_percentage = false
|
||||||
|
|
||||||
[node name="BoostTimer" type="Timer" parent="." unique_id=1715371353]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
|
|||||||
@ -2,31 +2,24 @@
|
|||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://c1tceq1kcqngi" path="res://scenes/musicians/musician.tscn" id="1_bgcse"]
|
[ext_resource type="PackedScene" uid="uid://c1tceq1kcqngi" path="res://scenes/musicians/musician.tscn" id="1_bgcse"]
|
||||||
[ext_resource type="SpriteFrames" uid="uid://bkq7b1w5jh1ec" path="res://resources/sprite_frames/viol_sprite_frames.tres" id="2_pec4u"]
|
[ext_resource type="SpriteFrames" uid="uid://bkq7b1w5jh1ec" path="res://resources/sprite_frames/viol_sprite_frames.tres" id="2_pec4u"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bm53tpx7cbocx" path="res://assets/ui/keyboard_v.png" id="3_4d75b"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cctoyonq28i8q" path="res://assets/ui/keyboard_v_outline.png" id="4_noys6"]
|
[ext_resource type="Texture2D" uid="uid://cctoyonq28i8q" path="res://assets/ui/keyboard_v_outline.png" id="4_noys6"]
|
||||||
[ext_resource type="AudioStream" uid="uid://bd01iv6fpqbdh" path="res://assets/audio/eine-kleine-viol.wav" id="5_pec4u"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://r5ec5td6b2b2" path="res://scenes/tilemaps.tscn" id="6_4d75b"]
|
|
||||||
|
|
||||||
[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_pec4u"]
|
[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_pec4u"]
|
||||||
polygon = PackedVector2Array(-1, 14, 2, 13, 4, 13)
|
polygon = PackedVector2Array(-5, 13, -2, 13, 1, 14)
|
||||||
|
|
||||||
[node name="Violinist" unique_id=233159387 instance=ExtResource("1_bgcse")]
|
[node name="Violinist" unique_id=233159387 instance=ExtResource("1_bgcse")]
|
||||||
sprite_frames = ExtResource("2_pec4u")
|
sprite_frames = ExtResource("2_pec4u")
|
||||||
solid_texture = ExtResource("3_4d75b")
|
frame_progress = 0.0
|
||||||
outline_texture = ExtResource("4_noys6")
|
flip_h = true
|
||||||
|
boost_note_type = 1
|
||||||
[node name="Audio" parent="." index="0" unique_id=1183742914]
|
input_action = "viol"
|
||||||
stream = ExtResource("5_pec4u")
|
|
||||||
|
|
||||||
[node name="Light" parent="." index="1" unique_id=428469575]
|
[node name="Light" parent="." index="1" unique_id=428469575]
|
||||||
position = Vector2(7, 7)
|
position = Vector2(2, 9)
|
||||||
|
|
||||||
[node name="Occluder" parent="." index="2" unique_id=807216766]
|
[node name="Occluder" parent="." index="2" unique_id=807216766]
|
||||||
occluder = SubResource("OccluderPolygon2D_pec4u")
|
occluder = SubResource("OccluderPolygon2D_pec4u")
|
||||||
|
|
||||||
[node name="InputPrompt" parent="." index="3" unique_id=590379112]
|
[node name="InputPrompt" parent="." index="7" unique_id=1882230995]
|
||||||
position = Vector2(18, 4)
|
position = Vector2(-16, 0)
|
||||||
texture = ExtResource("4_noys6")
|
texture = ExtResource("4_noys6")
|
||||||
|
|
||||||
[node name="Tilemaps" parent="." index="4" unique_id=875292520 instance=ExtResource("6_4d75b")]
|
|
||||||
visible = false
|
|
||||||
|
|||||||
34
scenes/outro.gd
Normal file
34
scenes/outro.gd
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#@tool
|
||||||
|
#@icon(icon_path: String)
|
||||||
|
#class_name MyNode
|
||||||
|
extends Node
|
||||||
|
## Documentation comments
|
||||||
|
|
||||||
|
#signal
|
||||||
|
#enum
|
||||||
|
#const
|
||||||
|
#@export var
|
||||||
|
#var
|
||||||
|
#@onready var
|
||||||
|
@onready var outro_stream: AudioStreamPlayer = $OutroStream
|
||||||
|
|
||||||
|
## OVERRIDES
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
outro_stream.connect("finished", on_stream_finished)
|
||||||
|
|
||||||
|
func _process(_delta: float) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _physics_process(_delta: float) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
## CORE
|
||||||
|
|
||||||
|
## PRIVATE/HELPER
|
||||||
|
|
||||||
|
## RECEIVERS
|
||||||
|
func on_stream_finished() -> void:
|
||||||
|
get_tree().quit()
|
||||||
|
|
||||||
|
## SETTERS/GETTERS
|
||||||
1
scenes/outro.gd.uid
Normal file
1
scenes/outro.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://c7h7awn4j2qv3
|
||||||
24
scenes/outro.tscn
Normal file
24
scenes/outro.tscn
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[gd_scene format=3 uid="uid://c7eypje2fjbyx"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://c7h7awn4j2qv3" path="res://scenes/outro.gd" id="1_a6ogt"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cveidfttgu174" path="res://assets/misc/outro-screen-ALBM.png" id="1_nvx42"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://b6xe72a7nd2ol" path="res://assets/audio/eine-kleine-fast.wav" id="2_r6h2c"]
|
||||||
|
|
||||||
|
[node name="Outro" type="Control" unique_id=1312269195]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
script = ExtResource("1_a6ogt")
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="." unique_id=1920943136]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
texture = ExtResource("1_nvx42")
|
||||||
|
|
||||||
|
[node name="OutroStream" type="AudioStreamPlayer" parent="." unique_id=2063751836]
|
||||||
|
stream = ExtResource("2_r6h2c")
|
||||||
|
autoplay = true
|
||||||
37
scripts/intro.gd
Normal file
37
scripts/intro.gd
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#@tool
|
||||||
|
#@icon(icon_path: String)
|
||||||
|
#class_name MyNode
|
||||||
|
extends Node
|
||||||
|
## Documentation comments
|
||||||
|
|
||||||
|
#signal
|
||||||
|
#enum
|
||||||
|
#const
|
||||||
|
|
||||||
|
const LEVEL_0 = preload("uid://1mhb537c1qxd")
|
||||||
|
|
||||||
|
#@export var
|
||||||
|
#var
|
||||||
|
|
||||||
|
@onready var start_button: Button = %StartButton
|
||||||
|
|
||||||
|
## OVERRIDES
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
start_button.connect("pressed", on_start_button_pressed)
|
||||||
|
|
||||||
|
func _process(_delta: float) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _physics_process(_delta: float) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
## CORE
|
||||||
|
|
||||||
|
## PRIVATE/HELPER
|
||||||
|
|
||||||
|
## RECEIVERS
|
||||||
|
func on_start_button_pressed() -> void:
|
||||||
|
get_tree().change_scene_to_packed(LEVEL_0)
|
||||||
|
|
||||||
|
## SETTERS/GETTERS
|
||||||
1
scripts/intro.gd.uid
Normal file
1
scripts/intro.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://o45uvey2wnsb
|
||||||
@ -7,45 +7,71 @@ extends Node2D
|
|||||||
#signal
|
#signal
|
||||||
#enum
|
#enum
|
||||||
#const
|
#const
|
||||||
|
const EINE_KLEINE_BLANK = preload("uid://diaivgv13xa8k")
|
||||||
|
const OUTRO = preload("uid://c7eypje2fjbyx")
|
||||||
|
|
||||||
@export var level_number: int = 0
|
@export var level_number: int = 0
|
||||||
|
@export var instruction_strings: Array[String]
|
||||||
|
|
||||||
# Musicians
|
#var musicians: Array[Musician]
|
||||||
@onready var conductor: Musician = %Conductor
|
var next_instruction: String
|
||||||
@onready var violinist: Musician = %Violinist
|
|
||||||
@onready var cellist: Musician = %Cellist
|
@onready var ok_button: Button = %OKButton
|
||||||
@onready var bassist: Musician = %Bassist
|
@onready var instructions: Label = %Instructions
|
||||||
@onready var tilemaps: Tilemaps = $Tilemaps
|
@onready var tilemaps: Tilemaps = $Tilemaps
|
||||||
|
## Musicians
|
||||||
|
@onready var conductor: Musician = %Conductor
|
||||||
|
@onready var bassist: Musician = %Bassist
|
||||||
|
@onready var cellist: Musician = %Cellist
|
||||||
|
@onready var violinist: Musician = %Violinist
|
||||||
|
|
||||||
## OVERRIDES
|
## OVERRIDES
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
_connect_signals()
|
||||||
tilemaps.canvas_modulate.visible = true
|
tilemaps.canvas_modulate.visible = true
|
||||||
SceneManager.build_level(level_number)
|
#if instruction_strings:
|
||||||
|
#next_instruction = instruction_strings.pop_front()
|
||||||
|
#SceneManager.load_level(level_number)
|
||||||
|
if level_number < 3:
|
||||||
|
violinist.queue_free()
|
||||||
|
if level_number < 2:
|
||||||
|
cellist.queue_free()
|
||||||
|
if level_number < 1:
|
||||||
|
bassist.queue_free()
|
||||||
|
else:
|
||||||
|
conductor.audio.stream = EINE_KLEINE_BLANK
|
||||||
|
conductor.input_prompt.visible = false
|
||||||
|
#musicians = [
|
||||||
|
#conductor,
|
||||||
|
#bassist,
|
||||||
|
#cellist,
|
||||||
|
#violinist
|
||||||
|
#]
|
||||||
#func _process(_delta: float) -> void:
|
#func _process(_delta: float) -> void:
|
||||||
#pass
|
#pass
|
||||||
#
|
#
|
||||||
#func _physics_process(_delta: float) -> void:
|
#func _physics_process(_delta: float) -> void:
|
||||||
#pass
|
#pass
|
||||||
|
|
||||||
func _unhandled_input(event: InputEvent) -> void:
|
|
||||||
if event.is_action_pressed("ready"):
|
|
||||||
conductor.enter_exit()
|
|
||||||
if event.is_action_pressed("viol"):
|
|
||||||
violinist.enter_exit()
|
|
||||||
if event.is_action_pressed("cello"):
|
|
||||||
cellist.enter_exit()
|
|
||||||
if event.is_action_pressed("bass"):
|
|
||||||
bassist.enter_exit()
|
|
||||||
|
|
||||||
## CORE
|
## CORE
|
||||||
|
func ui_continue() -> void:
|
||||||
|
if instruction_strings.size() > 0:
|
||||||
|
instructions.text = instruction_strings.pop_front()
|
||||||
|
else:
|
||||||
|
level_number += 1
|
||||||
|
if level_number <= 3:
|
||||||
|
SceneManager.load_level(level_number)
|
||||||
|
else:
|
||||||
|
get_tree().change_scene_to_packed(OUTRO)
|
||||||
|
|
||||||
## PRIVATE/HELPER
|
## PRIVATE/HELPER
|
||||||
|
|
||||||
|
func _connect_signals() -> void:
|
||||||
|
ok_button.connect("pressed", on_ok_button_pressed)
|
||||||
|
|
||||||
## RECEIVERS
|
## RECEIVERS
|
||||||
|
func on_ok_button_pressed() -> void:
|
||||||
|
ui_continue()
|
||||||
|
|
||||||
## SETTERS/GETTERS
|
## SETTERS/GETTERS
|
||||||
|
|||||||
@ -8,18 +8,19 @@ extends AnimatedSprite2D
|
|||||||
#enum
|
#enum
|
||||||
#const
|
#const
|
||||||
|
|
||||||
@export_group("Input Textures")
|
#@export_group("Input Textures")
|
||||||
@export var solid_texture: Texture2D
|
#@export var solid_texture: Texture2D
|
||||||
@export var outline_texture: Texture2D
|
#@export var outline_texture: Texture2D
|
||||||
|
|
||||||
@export var beats_per_boost: int = 4
|
|
||||||
@export var song_tempo: int = 120
|
@export var song_tempo: int = 120
|
||||||
|
|
||||||
@export_enum("sample", "viol", "cello", "bass", "ready") var input_action: String
|
@export_enum("whole:4", "half:2", "quarter:1") var boost_note_type: int
|
||||||
|
@export_enum("sample", "viol", "cello", "bass", "execute") var input_action: String
|
||||||
|
|
||||||
|
var beat_count: int = 0
|
||||||
var decay_length: float
|
var decay_length: float
|
||||||
var decay_rate: float
|
var decay_rate: float
|
||||||
var is_active: bool = false
|
var is_playing_music: bool = false
|
||||||
var is_boosted: bool
|
var is_boosted: bool
|
||||||
var is_over_boosted: bool = false
|
var is_over_boosted: bool = false
|
||||||
var seconds_per_beat: float
|
var seconds_per_beat: float
|
||||||
@ -30,17 +31,19 @@ var useconds_per_beat: int
|
|||||||
@onready var occluder: LightOccluder2D = %Occluder
|
@onready var occluder: LightOccluder2D = %Occluder
|
||||||
@onready var input_prompt: Sprite2D = %InputPrompt
|
@onready var input_prompt: Sprite2D = %InputPrompt
|
||||||
@onready var volume_bar: ProgressBar = %VolumeBar
|
@onready var volume_bar: ProgressBar = %VolumeBar
|
||||||
|
@onready var beat_timer: Timer = %BeatTimer
|
||||||
@onready var boost_timer: Timer = %BoostTimer
|
@onready var boost_timer: Timer = %BoostTimer
|
||||||
|
@onready var beat_particles: CPUParticles2D = $BeatParticles
|
||||||
|
|
||||||
## OVERRIDES
|
## OVERRIDES
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
light.visible = false
|
light.visible = false
|
||||||
_connect_signals()
|
_connect_signals()
|
||||||
|
#input_prompt.texture = outline_texture
|
||||||
input_prompt.texture = outline_texture
|
|
||||||
seconds_per_beat = 60.0/float(song_tempo)
|
seconds_per_beat = 60.0/float(song_tempo)
|
||||||
decay_length = beats_per_boost * seconds_per_beat
|
beat_timer.wait_time = seconds_per_beat
|
||||||
|
decay_length = boost_note_type * seconds_per_beat
|
||||||
print("this musician's boosts will last %s seconds" % decay_length)
|
print("this musician's boosts will last %s seconds" % decay_length)
|
||||||
boost_timer.wait_time = decay_length
|
boost_timer.wait_time = decay_length
|
||||||
decay_rate = 80.0 / decay_length
|
decay_rate = 80.0 / decay_length
|
||||||
@ -48,8 +51,8 @@ func _ready() -> void:
|
|||||||
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
if is_over_boosted:
|
if is_over_boosted:
|
||||||
distort_pitch(sin(Time.get_ticks_msec()))
|
distort_pitch()
|
||||||
if is_active and not is_boosted:
|
if is_playing_music and not is_boosted:
|
||||||
drop_volume(decay_rate * delta)
|
drop_volume(decay_rate * delta)
|
||||||
volume_bar.value = audio.volume_db
|
volume_bar.value = audio.volume_db
|
||||||
|
|
||||||
@ -67,39 +70,58 @@ func boost_volume() -> void:
|
|||||||
is_boosted = true
|
is_boosted = true
|
||||||
boost_timer.start()
|
boost_timer.start()
|
||||||
|
|
||||||
func distort_pitch(distortion: float) -> void:
|
func distort_pitch() -> void:
|
||||||
print("distorting by %s" % distortion)
|
audio.pitch_scale += randf_range(-0.001, 0.0001)
|
||||||
audio.pitch_scale += distortion
|
|
||||||
print("pitch scale is %s" % audio.pitch_scale)
|
|
||||||
|
|
||||||
func drop_volume(d_r: float) -> void:
|
func drop_volume(d_r: float) -> void:
|
||||||
audio.volume_db -= d_r
|
audio.volume_db -= d_r
|
||||||
|
|
||||||
func play_pause() -> void:
|
func play_pause() -> void:
|
||||||
if is_active:
|
if not is_playing_music:
|
||||||
play("idle")
|
_play()
|
||||||
audio.stop()
|
|
||||||
light.visible = false
|
|
||||||
is_active = false
|
|
||||||
input_prompt.texture = outline_texture
|
|
||||||
else:
|
else:
|
||||||
play("default")
|
_pause()
|
||||||
audio.play()
|
|
||||||
if not is_boosted:
|
|
||||||
is_boosted = true
|
|
||||||
boost_timer.start()
|
|
||||||
light.visible = true
|
|
||||||
is_active = true
|
|
||||||
input_prompt.texture = solid_texture
|
|
||||||
|
|
||||||
## PRIVATE/HELPER
|
## PRIVATE/HELPER
|
||||||
|
|
||||||
func _connect_signals() -> void:
|
func _connect_signals() -> void:
|
||||||
boost_timer.connect("timeout", on_boost_timer_timeout)
|
boost_timer.connect("timeout", on_boost_timer_timeout)
|
||||||
audio.connect("finished", play_pause)
|
audio.connect("finished", play_pause)
|
||||||
|
beat_timer.connect("timeout", on_beat_timer_timeout)
|
||||||
|
|
||||||
|
func _play() -> void:
|
||||||
|
play("default")
|
||||||
|
audio.play()
|
||||||
|
beat_timer.start()
|
||||||
|
if not is_boosted:
|
||||||
|
is_boosted = true
|
||||||
|
boost_timer.start()
|
||||||
|
light.visible = true
|
||||||
|
is_playing_music = true
|
||||||
|
#input_prompt.texture = solid_texture
|
||||||
|
|
||||||
|
func _pause() -> void:
|
||||||
|
play("idle")
|
||||||
|
audio.stop()
|
||||||
|
beat_timer.stop()
|
||||||
|
light.visible = false
|
||||||
|
is_playing_music = false
|
||||||
|
#input_prompt.texture = outline_texture
|
||||||
|
|
||||||
## RECEIVERS
|
## RECEIVERS
|
||||||
|
|
||||||
|
func on_beat_timer_timeout() -> void:
|
||||||
|
beat_count += 1
|
||||||
|
if beat_count % 4 == 0:
|
||||||
|
beat_particles.color = Color.RED
|
||||||
|
beat_particles.amount = 24
|
||||||
|
beat_particles.lifetime = 0.2
|
||||||
|
else:
|
||||||
|
beat_particles.color = Color.WHITE
|
||||||
|
beat_particles.amount = 8
|
||||||
|
beat_particles.lifetime = 0.15
|
||||||
|
beat_particles.restart()
|
||||||
|
|
||||||
func on_boost_timer_timeout() -> void:
|
func on_boost_timer_timeout() -> void:
|
||||||
print("boost over")
|
print("boost over")
|
||||||
boost_timer.stop()
|
boost_timer.stop()
|
||||||
|
|||||||
@ -6,23 +6,37 @@ extends Node
|
|||||||
#signal
|
#signal
|
||||||
#enum
|
#enum
|
||||||
#const
|
#const
|
||||||
|
|
||||||
|
const LEVEL_0 = preload("uid://1mhb537c1qxd")
|
||||||
|
const LEVEL_1 = preload("uid://dwqw0ieu8smw7")
|
||||||
|
const LEVEL_2 = preload("uid://cdbfis58lkruf")
|
||||||
|
const LEVEL_3 = preload("uid://ccoc6j4r7yixt")
|
||||||
|
|
||||||
|
|
||||||
#@export var
|
#@export var
|
||||||
var levels: Array[Level]
|
var levels: Array[PackedScene]
|
||||||
var current_level: Level
|
var current_level: PackedScene
|
||||||
#@onready var
|
#@onready var
|
||||||
|
|
||||||
## OVERRIDES
|
## OVERRIDES
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
pass
|
levels = [
|
||||||
|
LEVEL_0,
|
||||||
|
LEVEL_1,
|
||||||
|
LEVEL_2,
|
||||||
|
LEVEL_3
|
||||||
|
]
|
||||||
|
|
||||||
#func _process(_delta: float) -> void:
|
#func _process(_delta: float) -> void:
|
||||||
#pass
|
#pass
|
||||||
|
|
||||||
|
|
||||||
## CORE
|
## CORE
|
||||||
func build_level(level_number: int) -> void:
|
func load_level(level_number: int) -> void:
|
||||||
print_debug("Building level #%s" % level_number)
|
print_debug("Building level #%s" % level_number)
|
||||||
|
get_tree().change_scene_to_packed(levels[level_number])
|
||||||
|
|
||||||
|
|
||||||
## PRIVATE/HELPER
|
## PRIVATE/HELPER
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user