How do i make text appearing animation?

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    So i need an animation so letter will appear one by one
  2. What is the issue? Include screenshots / videos if possible!
    Idk how to do that.
  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I thought like that
 text = "?"
wait(1)
text = "??"

Here is my script:

local Text = script.Parent
local GUI = script.Parent.Parent
	if GUI.Visible == true then
		
	end
5 Likes

I made that myself solved (30 letters)

i’ve have a solution for you.

solution:

function visible()
	script.Parent.TextTransparency = script.Parent.TextTransparency -.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency -.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency -.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency -.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency -.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency -.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency -.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency -.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency -.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency -.1

end

function invisible()
	script.Parent.TextTransparency = script.Parent.TextTransparency +.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency +.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency +.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency +.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency +.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency +.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency +.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency +.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency +.1
	wait(.1)
	script.Parent.TextTransparency = script.Parent.TextTransparency +.1

end

while true do
	script.Parent.Text = "the game has been updated."
	visible()
	wait(2)
	invisible()
	script.Parent.Text = "Anti exploit has been added to the game."
	visible()
	wait(2)
	invisible()
	script.Parent.Text = "Anti exploit will kick you out of the game. stop exploiting."
	visible()
	wait(2)
	invisible()
end

this should work. if i’m right.

13 Likes

That’s a long wait here, I recommend using tween service :sweat_smile:

too long doesn’t mean to use Tween service, i tried the script and it worked.

1 Like

Ughhhh i just using animations from dev hub it’s 100% easier

local Text = script.Parent
local AnimateUI = require(game.ReplicatedStorage:WaitForChild("AnimateUI"))
local TextMessage = "Huh? So you wanna change your clicks into money?"
wait(0.4)
AnimateUI.typeWrite(Text,TextMessage,0.05)
1 Like

use MaxVisibleGraphemes

local TS = game:GetService("TweenService")
script.Parent.MaxVisibleGraphemes = 0
TS:Create(script.Parent, TweenInfo.new(1.5), {MaxVisibleGraphemes = string.len(script.Parent.Text)}):Play()
2 Likes

Yeah but i recommend Tween Service for the best, It’s worth to use it mate.

1 Like

i’m using my own script which i pasted in here.

1 Like
local textLabel = script.Parent

local function changeText(number)
	for i = 1, 10 do
		textLabel.TextTransparency += number
		task.wait(0.1)
	end
end

changeText(0.1) --Make text transparent.
changeText(-0.1) --Make text opaque.

Consider using loops & parameters to make everything concise, also replace wait() with task.wait() instead.

1 Like

uh does it get tired copying pasting the same thing multiple times?
you should try a for loop, it makes things much easier for u

here!

local function visible()
	for i = 1,10 do 
		script.Parent.TextTransparency = script.Parent.TextTransparency -.1
		wait(.1)
	end
end

local function invisible()
	for i = 1,10 do 
		script.Parent.TextTransparency = script.Parent.TextTransparency +.1
		wait(.1)
	end
end
1 Like

I hate to say it so roughly but that’s an awful way of going about doing this.
I’d suggest using typewriter script since this is exactly what its made for and will save you from pasting line after line of just each letter.

For exmaple:

local Text = "Here is your text!"

for T = 1, #Text do
	player.PlayerGui.TextWriter.Textwritten.Text = string.sub(Text, 1, T)
	wait(0.1)
end
4 Likes

bro ur a legend. a complete, true legend. that discord gif got me

4 Likes

dawg u the goat of scripting keep goin strong my broda :pray:

5 Likes

This is fire :fire: :fire: :fire: absolute academic weapon.

2 Likes

Well, idk if you helped him, but you helped me :smiley: actually it was just a test that i wanted that for lol, but now if i want to make it, this is the solution :slight_smile:

Use TweenService to get a better restult and to go faster.

1 Like

mark this as solution plsz :pray: :pray: :100: