Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How can I make it so that when the player clicks the text button, another GUI slides in?

Asked by 7 years ago
Edited 7 years ago

I need it so that when the player clicks the text button, "How To Play", another gui slides in from the right of the screen. My script isn't working, what's wrong with it or what do I need to type? Please help!

if script.Parent.MouseButton1Click then
    game.StarterGui.ImagePicture.HowToPlay:TweenPosition(UDim2.new(0.300, 0, 0.650, 0))
end
0
You're going to want to make changes to the contents of http://wiki.roblox.com/index.php?title=API:Class/PlayerGui , not StarterGui. The contents of StarterGui are cloned there when the player spawns. Pyrondon 2089 — 7y

2 answers

Log in to vote
0
Answered by
sad_eyez 162
7 years ago
Edited 7 years ago

I have left an example code below.

local image = script.Parent:WaitForChild("ImageLabel")
local button = script.Parent:WaitForChild("TextButton")

button.MouseButton1Click:Connect(function()
    if image.Visible == false then
    image.Visible = true
    image:TweenPosition(UDim2.new(0.300, 0, 0.650, 0),"InOut", "Quad", 0.3)
    wait(0.3)
    else
    image:TweenPosition(UDim2.new(1, 0, 0.650, 0),"InOut", "Quad", 0.3)
    wait(0.3)
    image.Visible = false
    end
end)

I hope this helped :)

If you would like further help just reply.

Ad
Log in to vote
0
Answered by 7 years ago

Hey DarkAssasin0, There are a few errors I noticed with your code. Well, 2 main errors anyway. Below I will go over the two errors and give you a wiki page and an example of what you can do to fix those errors.

First Error:

Your first error that I've noticed is your if statement. First off, the if statement is completely wrong and very much so unnecessary. I can tell what you are trying to do from your if statement, which is to make this Gui tween when the user presses down on a certain Button. However, for this you use Events and Functions, not if statements. The Button has an event of MouseButton1Click and you use that to connect a function, which will run when the Button is Left Clicked. Below is a personal example.

Example for the Function/Event

local button = script.Parent -- Declares a variable for the button

function tween_plz() -- A function named 'tween_plz' which will be later connected with the MouseButton1Down event.
    print("The tweening process is happening atm, muahahah") -- Prints "The tweening process is happening atm, muahahah".
end -- end for the function

button.MouseButton1Click:Connect(tween_plz) -- Connects the function to the event.

Second Error:

Your second error is your :TweenPosition() statement. Tweening has 6 arguments. 2 of them you can leave out but, the other 4 you have to add. The 4 of them are:

1. Position/Size or Position and Size depending on which one you are doing. 2. EasingDirection. (Controls the direction of the tween) 3. EasingStyle. (The way that it will act when it's tweened) 4. Float time. (The amount of time you want it to cover before it reaches the end.

Below is a personal example.

Example for Tweening

local button = script.Parent -- Declares a variable for the button

function tween_plz() -- A function named 'tween_plz' which will be later connected with the MouseButton1Down event.
    local gui_to_tween = script.Parent.Parent:WaitForChild("Tweening Gui")
    gui_to_tween:TweenPosition(UDim2.new() --[[ The position it needs to be tweened to--]], Enum.EasingDirection.In --[[ The direction it's going to tween to --]], Enum.EasingStyle.Quad --[[ The style the tweening is going to act when it's happening --]], 0.5 --[[ The amount of time the Gui will take to reach the tweening position. --]])
end -- end for the function

button.MouseButton1Click:Connect(tween_plz) -- Connects the function to the event.

Well, that's all the errors I could find, I hope you have a nice day/night.

~~ KingLoneCat

Answer this question