Hi,
Almost done with the text drawing using RichTextLabels
I just need script code examples for:
- setting text pivot point(for centered rotations and scaling)
- enabling text outline
- setting text outline color
- setting x and/or y scale of text
Thanks in advance!
Jesse
#----------------------------------------------------------------------------------------
func DrawText(var index, var text, var x, var y, var horizontalJustification, var fontSize, var scaleX, var scaleY, var rotation, var red, var green, var blue, var alpha, var outlineRed, var outlineGreen, var outlineBlue):
Texts.TextImage.append(RichTextLabel.new())
add_child(Texts.TextImage[index])
var fontToUseIndex = 0
if fontSize == 25:
fontToUseIndex = 0
elif fontSize == 60:
fontToUseIndex = 1
Texts.TextImage[index].add_font_override("normal_font", FontTTF[fontToUseIndex])
Texts.TextImage[index].modulate = Color(red, green, blue, alpha)
FontTTF[fontToUseIndex].outline_size = 3
FontTTF[fontToUseIndex].outline_color = Color(outlineRed, outlineGreen, outlineBlue, alpha)
Texts.TextImage[index].text = text
Texts.TextImage[index].rect_global_position.x = x
Texts.TextImage[index].rect_global_position.y = y
Texts.TextImage[index].rect_scale = Vector2(scaleX, scaleY)
Texts.TextImage[index].rect_rotation = rotation
Texts.TextImage[index].set_size(Vector2(1024, 640), false)
Texts.TextImage[index].rect_global_position.y = (y - (Texts.TextImage[index].get_font("normal_font").get_string_size(Texts.TextImage[index].text).y / 2))
if horizontalJustification == 0:
Texts.TextImage[index].ALIGN_LEFT
elif horizontalJustification == 1:
Texts.TextImage[index].ALIGN_CENTER
Texts.TextImage[index].rect_global_position.x = ((VisualsCore.ScreenWidth/2) - (Texts.TextImage[index].get_font("normal_font").get_string_size(Texts.TextImage[index].text).x / 2))
elif horizontalJustification == 2:
Texts.TextImage[index].ALIGN_LEFT
Texts.TextImage[index].rect_global_position.x = (VisualsCore.ScreenWidth - x - (Texts.TextImage[index].get_font("normal_font").get_string_size(Texts.TextImage[index].text).x))
elif horizontalJustification == 4:
Texts.TextImage[index].ALIGN_LEFT
Texts.TextImage[index].rect_global_position.x = (x - (Texts.TextImage[index].get_font("normal_font").get_string_size(Texts.TextImage[index].text).x / 2))
else: Texts.TextImage[index].ALIGN_FILL
TextCurrentIndex+=1
pass