diff options
author | rom <romangraef@gmail.com> | 2021-04-25 00:35:12 +0200 |
---|---|---|
committer | rom <romangraef@gmail.com> | 2021-04-25 00:35:12 +0200 |
commit | 7d3d98f6b6546d8ddcd7a2a4c8e9431c59880223 (patch) | |
tree | 919961fc23ba8e52a7064d6a7fe3e48a1d68efcc | |
parent | 90f80eae757c6232b92561b63fee76ce202f374f (diff) | |
download | ldjam48-7d3d98f6b6546d8ddcd7a2a4c8e9431c59880223.tar.gz ldjam48-7d3d98f6b6546d8ddcd7a2a4c8e9431c59880223.tar.bz2 ldjam48-7d3d98f6b6546d8ddcd7a2a4c8e9431c59880223.zip |
textreveal very gud
-rw-r--r-- | components/textreveal.gd | 42 | ||||
-rw-r--r-- | components/textreveal.tscn | 3 | ||||
-rw-r--r-- | scenes/introduction.gd | 4 | ||||
-rw-r--r-- | scenes/introduction.tscn | 9 | ||||
-rw-r--r-- | scenes/menu.tscn | 1 |
5 files changed, 37 insertions, 22 deletions
diff --git a/components/textreveal.gd b/components/textreveal.gd index 0d9004c..1685a8d 100644 --- a/components/textreveal.gd +++ b/components/textreveal.gd @@ -1,44 +1,52 @@ extends Node2D -onready var font_source : RichTextLabel = $FontSource signal finished_reveal() -export var text = "Text" +export(String, MULTILINE) var text = "Text" export var speed = 100.0 +############ +# INTERNAL # +############ + + +onready var font_source : RichTextLabel = $FontSource var revealed = 0 var started = false var finished = false - -var label +var t = 0 +onready var label = Label.new() # Called when the node enters the scene tree for the first time. func _ready(): - label = RichTextLabel.new() label.theme = font_source.theme + label.align = Label.ALIGN_CENTER add_child(label) - label.rect_position = -label.rect_size / 2 func _show_text(text): - label.add_text(text) + label.text = text label.rect_position = -label.rect_size / 2 # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): - if started: - var reveal = speed * delta - var oldreveal = revealed - revealed += reveal - var t = text.substr(oldreveal, revealed) - _show_text(t) - if text.length() <= revealed: - started = false - finished = true - emit_signal("finished_reveal") + if not started: + return + t += delta * speed + var additional = int(t) + t -= additional + revealed += additional + _show_text(text.substr(0, revealed)) + if text.length() == revealed: + started = false + finished = true + emit_signal("finished_reveal") func start(): started = true + label.text = "" + revealed = 0 + t = 0 finished = false diff --git a/components/textreveal.tscn b/components/textreveal.tscn index 19a1833..a6d9cbb 100644 --- a/components/textreveal.tscn +++ b/components/textreveal.tscn @@ -13,7 +13,10 @@ default_font = SubResource( 1 ) script = ExtResource( 1 ) [node name="FontSource" type="RichTextLabel" parent="."] +grow_horizontal = 2 +grow_vertical = 2 theme = SubResource( 2 ) +text = "AAAAAAAAAAAAAAAAAAAAAAA" __meta__ = { "_edit_use_anchors_": false } diff --git a/scenes/introduction.gd b/scenes/introduction.gd index 09692b0..8c4f525 100644 --- a/scenes/introduction.gd +++ b/scenes/introduction.gd @@ -1,4 +1,4 @@ -extends CanvasLayer +extends Node onready var textreveal = $Textreveal @@ -8,4 +8,4 @@ func _ready(): func _on_Textreveal_finished_reveal(): - pass + print("Done") diff --git a/scenes/introduction.tscn b/scenes/introduction.tscn index 42a4bfc..f36644a 100644 --- a/scenes/introduction.tscn +++ b/scenes/introduction.tscn @@ -3,11 +3,14 @@ [ext_resource path="res://components/textreveal.tscn" type="PackedScene" id=1] [ext_resource path="res://scenes/introduction.gd" type="Script" id=2] -[node name="CanvasLayer" type="CanvasLayer"] +[node name="CanvasLayer" type="Node2D"] script = ExtResource( 2 ) [node name="Textreveal" parent="." instance=ExtResource( 1 )] -position = Vector2( 653.942, 242.431 ) -text = "Long long time ago" +position = Vector2( 639.655, 256.718 ) +text = "Long long time ago +i fucked your mom +lmao jk, meant your dad" speed = 10.0 + [connection signal="finished_reveal" from="Textreveal" to="." method="_on_Textreveal_finished_reveal"] diff --git a/scenes/menu.tscn b/scenes/menu.tscn index 0a69c87..3dd2f0c 100644 --- a/scenes/menu.tscn +++ b/scenes/menu.tscn @@ -32,4 +32,5 @@ fixed_width = 150 [node name="Logo" parent="." instance=ExtResource( 1 )] position = Vector2( 640, 250 ) rotation = -1.74846e-07 + [connection signal="on_click" from="Exit" to="." method="_on_Exit_on_click"] |