summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLogan <logan@cflip.net>2022-09-26 11:15:14 -0600
committerLogan <logan@cflip.net>2022-09-26 11:15:14 -0600
commitec3b1f444db16ebfbbde48e20be3b92500762a57 (patch)
tree50c0ee5ca0576b9fea8039c3952db8517d185967
parentedb36b840a32f5b9cd799d709a747edc1bb622a8 (diff)
Add countdown timer.
-rw-r--r--scenes/interface.tscn23
-rw-r--r--scenes/level.tscn4
-rw-r--r--scripts/interface.gd21
-rw-r--r--scripts/score_label.gd7
-rw-r--r--scripts/timer_label.gd9
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)
+