diff options
author | Logan <logan@cflip.net> | 2022-09-26 11:15:14 -0600 |
---|---|---|
committer | Logan <logan@cflip.net> | 2022-09-26 11:15:14 -0600 |
commit | ec3b1f444db16ebfbbde48e20be3b92500762a57 (patch) | |
tree | 50c0ee5ca0576b9fea8039c3952db8517d185967 | |
parent | edb36b840a32f5b9cd799d709a747edc1bb622a8 (diff) |
Add countdown timer.
-rw-r--r-- | scenes/interface.tscn | 23 | ||||
-rw-r--r-- | scenes/level.tscn | 4 | ||||
-rw-r--r-- | scripts/interface.gd | 21 | ||||
-rw-r--r-- | scripts/score_label.gd | 7 | ||||
-rw-r--r-- | scripts/timer_label.gd | 9 |
5 files changed, 57 insertions, 7 deletions
diff --git a/scenes/interface.tscn b/scenes/interface.tscn index 53d9365..526db54 100644 --- a/scenes/interface.tscn +++ b/scenes/interface.tscn @@ -1,9 +1,26 @@ [gd_scene load_steps=2 format=2] -[ext_resource path="res://scripts/interface.gd" type="Script" id=1] +[ext_resource path="res://scripts/interface.gd" type="Script" id=3] -[node name="Interface" type="Label"] +[node name="Interface" type="Control"] +margin_right = 40.0 +margin_bottom = 40.0 +script = ExtResource( 3 ) + +[node name="Score Label" type="Label" parent="."] margin_right = 40.0 margin_bottom = 14.0 rect_scale = Vector2( 0.15, 0.15 ) -script = ExtResource( 1 ) + +[node name="Timer Label" type="Label" parent="."] +margin_top = 2.0 +margin_right = 40.0 +margin_bottom = 16.0 +rect_scale = Vector2( 0.15, 0.15 ) + +[node name="Timer" type="Timer" parent="Timer Label"] +wait_time = 30.0 + +[node name="Update Timer" type="Timer" parent="."] + +[connection signal="timeout" from="Update Timer" to="." method="_on_Update_Timer_timeout"] diff --git a/scenes/level.tscn b/scenes/level.tscn index fc0d753..8dfaa66 100644 --- a/scenes/level.tscn +++ b/scenes/level.tscn @@ -1,10 +1,11 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://textures/court_lines.png" type="Texture" id=1] [ext_resource path="res://scenes/hoop.tscn" type="PackedScene" id=2] [ext_resource path="res://scenes/basketball.tscn" type="PackedScene" id=3] [ext_resource path="res://scenes/interface.tscn" type="PackedScene" id=4] [ext_resource path="res://textures/court_tile.png" type="Texture" id=5] +[ext_resource path="res://scripts/interface.gd" type="Script" id=6] [sub_resource type="LineShape2D" id=1] d = 10.0 @@ -12,6 +13,7 @@ d = 10.0 [node name="Node2D" type="Node2D"] [node name="Interface" parent="." instance=ExtResource( 4 )] +script = ExtResource( 6 ) [node name="Hoop" parent="." instance=ExtResource( 2 )] position = Vector2( 163, 37 ) diff --git a/scripts/interface.gd b/scripts/interface.gd index 453f468..138527d 100644 --- a/scripts/interface.gd +++ b/scripts/interface.gd @@ -1,7 +1,22 @@ -extends Label +extends Control + +onready var timer_label = $"Timer Label" +onready var timer = $"Timer Label/Timer" +onready var score_label = $"Score Label" func _ready(): - text = "Score: " + str(global_variables.score) + score_label.text = "Score: " + str(global_variables.score) + timer.start() + timer_label.text = "Time: " + str(timer.time_left) + $"Update Timer".start() func _on_Hoop_score(): - text = "Score: " + str(global_variables.score) + score_label.text = "Score: " + str(global_variables.score) + timer.start(timer.get_time_left() + 10) + update_timer() + +func update_timer(): + timer_label.text = "Time: " + str(round(timer.time_left)) + +func _on_Update_Timer_timeout(): + update_timer() diff --git a/scripts/score_label.gd b/scripts/score_label.gd new file mode 100644 index 0000000..453f468 --- /dev/null +++ b/scripts/score_label.gd @@ -0,0 +1,7 @@ +extends Label + +func _ready(): + text = "Score: " + str(global_variables.score) + +func _on_Hoop_score(): + text = "Score: " + str(global_variables.score) diff --git a/scripts/timer_label.gd b/scripts/timer_label.gd new file mode 100644 index 0000000..7a83ce9 --- /dev/null +++ b/scripts/timer_label.gd @@ -0,0 +1,9 @@ +extends Label + +func _ready(): + $Timer.start() + text = "Time: " + str($Timer.time_left) + +func _process(delta): + text = "Time: " + str($Timer.time_left) + |