title | description |
---|---|
Buttons |
Buttons allow users to prompt an action. |
When designing buttons, Class.TextButton
and
Class.ImageButton
objects allow a user to perform an action.
You can customize these objects to provide context and prompts for what you
want a user to do. For example, you can provide users visual feedback by
changing the appearance of an ImageButton when a user clicks it.
Because these objects are Class.GuiObject|GuiObjects
, you can customize properties such as Class.GuiObject.BackgroundColor3|BackgroundColor3
, Class.GuiObject.BorderMode|BorderMode
, Class.GuiObject.Transparency|Transparency
, and Class.GuiObject.Rotation|Rotation
to fit the aesthetics of your experience.
There are two types of buttons you can use on a screen or surface of a part:
-
TextButton - A
Class.TextButton
is a rectangle with text that performs a set action when clicked. This action determines theClass.GuiButton.Activated
property with scripting. -
ImageButton - An
Class.ImageButton
is a rectangle with an image that performs a set action when clicked. This object is useful for a character selection screen or intuitive quick-action buttons, such as a button with a cart icon that opens a marketplace.
Buttons on a screen are useful to quickly guide users to various menus or pages.
To add a button to the screen:
-
In the Explorer window, select StarterGui and add a ScreenGui.
-
Hover over StarterGui and click the ⊕ button. A contextual menu displays.
-
Insert a ScreenGui.
-
-
Select the new ScreenGui and add a button.
-
Hover over ScreenGui and click the ⊕ button. A contextual menu displays.
-
Insert either a TextButton or ImageButton.
-
Buttons on a part are useful for allowing users to interact with parts. For example, you can let users step on a button to complete an action.
To add a button to the face of a part:
-
In the Explorer window, select the part and add a SurfaceGui.
-
Hover over the part and click the ⊕ button. A contextual menu displays.
-
Insert a SurfaceGui.
-
-
Select the new SurfaceGui and add any type of button or input.
-
Hover over SurfaceGui and click the ⊕ button. A contextual menu displays.
-
Insert either a TextButton or ImageButton.
-
Changing the appearance of an Class.ImageButton
when a user is interacting with it provides useful visual feedback. For example, when an Class.ImageButton
changes visual appearance when a user hovers over it, it lets the user know that it isn't disabled and that they have the option to click it if they want to perform that Class.ImageButton
action.
An Class.ImageButton
has three properties to change its visual appearance:
-
Class.ImageButton.Image|Image
- The image that displays when a user is not interacting with theClass.ImageButton
. -
Class.ImageButton.HoverImage|HoverImage
- The image that displays when a user is hovering their cursor over theClass.ImageButton
. -
Class.ImageButton.PressedImage|PressedImage
- The image that displays when a user is clicking theClass.ImageButton
.
To change the appearance of an Class.ImageButton
with user input:
-
In the Explorer window, click the ImageButton object.
-
In the Properties window, assign three different respective asset IDs for the Image, HoverImage, and PressedImage properties.
You can script an action when a user presses a button by connecting the button to a Class.GuiButton.Activated
event. For example, when you parent the following Class.LocalScript
to a button, the button changes to a random color every time a user clicks it.
local button = script.Parent
local RNG = Random.new()
local function onButtonActivated()
-- randomize the button color
button.BackgroundColor3 = Color3.fromHSV(RNG:NextNumber(), 1, 1)
end
button.Activated:Connect(onButtonActivated)