How do I create this typing effect on the parts they press and sound effects?

I’m currently working on a project and I would love to make a main menu like what’s shown in the video bellow.

Main Menu Idea

I would love it if I can have some help, as I have no idea where to start. The things I want to implement into my design is the exact system you’re viewing where after a few seconds the screens power activates, with lights indicating that the power has been activated including sound effects, and the background music fading in with the power on sound effect, except instead of the type writer effect I want the text to flicker on. Also I want to know how to script a clickable part to trigger camera manipulation/lerp in the direction of another camera as shown also the model animation at the end when they press play.

now I have tried many questions in the YouTube search bar in regards to my request but nothing has come up.

If anyone can find a video tutorial or even write code for me id really appreciate it, thank you :slight_smile:

1 Like

For the text typing (local script):

local textlabel = script.Parent

function typeWrite(textlabel, text)
for i=1, #text do
workspace.Sound:Play()
textlabel.Text = string.sub(text, 1, i) 
wait(0.05)
end
end

Now if you want to make the menu:

local cam = workspace.CurrentCamera

repeat wait(0.1)
cam.CameraType = Enum.CameraType.Scriptable
until
cam.CameraType==Enum.CameraType.Scriptable
cam.CFrame = workspace.Part.CFrame --The part you want to be the camera

And then you do:

wait(5)
typewrite(textLabel, "Text you want to display")

If there are errors, then reply to this.

how do i make the clickable part lerp the camera to a new part camera though?

You can use tweenService for this. Make a tween then set CurrentCamera to Enum.CameraType.Scriptable. Then use the tween to tha parts CFrame.

i dont know how it works please help, i tried looking up what i needed and its all just physically lerping and tween parts

local cam = workspace.CurrentCamera
local TS = game:GetService("TweenService")

local function Tween(pos, tweenTime)
TS:Create(cam, TweenInfo.new(tweenTime, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false, 0), {CFrame = pos.CFrame}):Play()
end

Tween(--the part you want the Main Part move to, -- time ow the tween)

I reccomend to make Mouse1ButtonClick function to play the tween.

I dont understand…
where do i put mouse1buttonclick

It looks like they’re using not SurfaceGui. Maybe they made a text from parts and then set random part transparency to 0.

I dont know what youre saying ahahaha

@Warlocker4934 Oh Wait my bad, You were talking about the text, the original question ahaha, I’ve decided to use type writer effect.