RingOfRaces/MiscCodes/Speech.gd

45 lines
1.0 KiB
GDScript3
Raw Normal View History

2021-05-28 21:01:56 +00:00
#Thanks to: https://github.com/trolog/GodotanimatedSpeedbubble
extends Node2D
var bubble_text = "this is just a test"
var can_shrink = true
var bubble_text_length = 0
var bubble_text_index = 0
var current_text = ""
2023-03-25 20:42:54 +00:00
@onready var lbltext = get_node("VBoxContainer/Label")
@onready var ninerect = get_node("VBoxContainer/Label/NinePatchRect")
@onready var timer = get_node("Timer")
2021-05-28 21:01:56 +00:00
var do_close = false
func _ready():
bubble_text_length = bubble_text.length()
timer.start(1)
func _on_Timer_timeout():
if(!do_close):
current_text += bubble_text[bubble_text_index]
lbltext.text = current_text
if(bubble_text_index < bubble_text_length -1):
timer.start(0.04)
bubble_text_index += 1
else:
if(!do_close):
do_close = true
timer.start(1)
else:
if(bubble_text_length > 0):
current_text.erase(bubble_text_length -1,1)
lbltext.text = current_text
bubble_text_length -= 1
if(can_shrink):
2023-03-25 20:42:54 +00:00
ninerect.size -= Vector2(6,0)
ninerect.position += Vector2(3,0)
2021-05-28 21:01:56 +00:00
timer.start(0.04)
else:
queue_free()