From 03637820cd806abf71cb9706731dbd50ca9aff01 Mon Sep 17 00:00:00 2001 From: SyntaX Date: Sun, 24 Nov 2019 13:45:09 +0100 Subject: [PATCH] sound and display for collecting crystals --- WikiJam/Player/Player.tscn | 7 ++++++- WikiJam/Player/UI/HUD.gd | 22 +++++++++++++++------- WikiJam/Player/UI/HUD.tscn | 1 - WikiJam/Sounds/ding.wav.import | 21 +++++++++++++++++++++ WikiJam/project.godot | 26 ++++++++++++++++++++++++++ 5 files changed, 68 insertions(+), 9 deletions(-) create mode 100644 WikiJam/Sounds/ding.wav.import diff --git a/WikiJam/Player/Player.tscn b/WikiJam/Player/Player.tscn index 356ef40..292a645 100644 --- a/WikiJam/Player/Player.tscn +++ b/WikiJam/Player/Player.tscn @@ -1,10 +1,11 @@ -[gd_scene load_steps=9 format=2] +[gd_scene load_steps=10 format=2] [ext_resource path="res://Player/Player.gd" type="Script" id=1] [ext_resource path="res://Player/Footsteps.gd" type="Script" id=2] [ext_resource path="res://Resources/Audio/Step.wav" type="AudioStream" id=3] [ext_resource path="res://Player/UI/HUD.tscn" type="PackedScene" id=4] [ext_resource path="res://Sounds/dino-eat.wav" type="AudioStream" id=5] +[ext_resource path="res://Sounds/ding.wav" type="AudioStream" id=6] [sub_resource type="CylinderShape" id=1] height = 2.5 @@ -79,10 +80,14 @@ unit_db = -10.0 pitch_scale = 1.5 [node name="HUD" parent="." instance=ExtResource( 4 )] +collect_sound_path = NodePath("../CollectSound") [node name="GameOverSound" type="AudioStreamPlayer" parent="."] stream = ExtResource( 5 ) +[node name="CollectSound" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 6 ) + [node name="InteractArea" type="Area" parent="."] gravity = 0.0 diff --git a/WikiJam/Player/UI/HUD.gd b/WikiJam/Player/UI/HUD.gd index 924cd40..2a089ca 100644 --- a/WikiJam/Player/UI/HUD.gd +++ b/WikiJam/Player/UI/HUD.gd @@ -2,11 +2,15 @@ extends Control export(NodePath) var popup_nodepath export(NodePath) var gameover_sound_path +export(NodePath) var collect_sound_path export(NodePath) var container_path var _popup: Popup var _gameover_sound: AudioStreamPlayer +var _collect_sound: AudioStreamPlayer var _collectibles: GridContainer + +var _itemWidth = 50; var _score: int = 0 var _init: bool = false var _texCrystal = preload("res://Images/crystal-unlit.png") @@ -14,13 +18,15 @@ var _texCrystalLit = preload("res://Images/crystal.png") func _ready(): - _popup = get_node(popup_nodepath) as Popup assert(null != _popup) _gameover_sound = get_node(gameover_sound_path) as AudioStreamPlayer assert(null != _gameover_sound) + _collect_sound = get_node(collect_sound_path) as AudioStreamPlayer + assert(null != _collect_sound) + _collectibles = get_node(container_path) as GridContainer assert(null != _collectibles) @@ -31,6 +37,9 @@ func _process(_delta): # TODO: handle with signals var count = Collector.getCount() + _itemWidth = int(get_viewport_rect().size.x / (count + 1)) + _collectibles.columns = count + for i in count: var rect = _createTexture(_texCrystal) _collectibles.add_child(rect) @@ -41,9 +50,7 @@ func _createTexture(texture): rect.texture = texture rect.expand = true rect.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT - rect.rect_min_size = Vector2(50, 50) - rect.rect_size = Vector2(50, 50) - + rect.rect_min_size = Vector2(_itemWidth, _itemWidth) return rect @@ -51,10 +58,11 @@ func increaseScore(): _score += 1 Logger.info(String(_score) + " of " + String(Collector.getCount()) + " possible points") + _collect_sound.play() + var rect = _createTexture(_texCrystalLit) - #_collectibles.add_child(rect) - _collectibles.add_child_below_node(self, rect) - _collectibles.remove_child(_collectibles.get_child(0)) + _collectibles.add_child_below_node(_collectibles.get_child(0), rect) + _collectibles.remove_child(_collectibles.get_child(0 if _score == 1 else _score)) if (_score >= (Collector.getCount())): success() diff --git a/WikiJam/Player/UI/HUD.tscn b/WikiJam/Player/UI/HUD.tscn index 3ca4cfe..a7b2f6e 100644 --- a/WikiJam/Player/UI/HUD.tscn +++ b/WikiJam/Player/UI/HUD.tscn @@ -68,5 +68,4 @@ value = 100.0 [node name="GridContainer" type="GridContainer" parent="."] margin_right = 250.0 margin_bottom = 150.0 -columns = 15 [connection signal="pressed" from="Popup/Button" to="." method="_on_Button_pressed"] diff --git a/WikiJam/Sounds/ding.wav.import b/WikiJam/Sounds/ding.wav.import new file mode 100644 index 0000000..4aed317 --- /dev/null +++ b/WikiJam/Sounds/ding.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/ding.wav-88e1747ad335c067902263abe685dc63.sample" + +[deps] + +source_file="res://Sounds/ding.wav" +dest_files=[ "res://.import/ding.wav-88e1747ad335c067902263abe685dc63.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=true +edit/normalize=true +edit/loop=false +compress/mode=0 diff --git a/WikiJam/project.godot b/WikiJam/project.godot index 16e5707..396cd50 100644 --- a/WikiJam/project.godot +++ b/WikiJam/project.godot @@ -65,36 +65,62 @@ config/icon="res://icon.png" Logger="*res://Util/gs_logger/logger.gd" Collector="*res://Util/Collector.gd" +[display] + +window/size/width=1080 +window/size/height=720 + [input] move_fwrd={ "deadzone": 0.5, "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":12,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null) ] } move_back={ "deadzone": 0.5, "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":13,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null) ] } move_left={ "deadzone": 0.5, "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":14,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null) ] } move_right={ "deadzone": 0.5, "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":15,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null) ] } move_jump={ "deadzone": 0.5, "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":false,"script":null) ] } move_sprint={ "deadzone": 0.5, "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":7,"pressure":0.0,"pressed":false,"script":null) + ] +} +cam_move_left={ +"deadzone": 0.5, +"events": [ Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":-1.0,"script":null) + ] +} +cam_move_right={ +"deadzone": 0.5, +"events": [ Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":1.0,"script":null) ] } cam_move_up={