Aprenda
Classe do mecanismo
ImageButton

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.



Referência API
Propriedades
HoverImage
Ler Parallel
Recursos: UI
ImageButton.HoverImage:ContentId

HoverImageContent
Ler Parallel
Recursos: UI
ImageButton.HoverImageContent:Content

Image
Ler Parallel
Recursos: UI
ImageButton.Image:ContentId
Amostras de código
Bloqueio de Hover da Imagem
local imageLabel = script.Parent
-- As imagens neste exemplo são 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Cadeado desbloqueado (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Verde escuro
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Cadeado bloqueado (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Vermelho escuro
end
-- Conectar eventos; nosso estado padrão é bloqueado
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()

ImageColor3
Ler Parallel
Recursos: UI
ImageButton.ImageColor3:Color3
Amostras de código
Bloqueio de Hover da Imagem
local imageLabel = script.Parent
-- As imagens neste exemplo são 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Cadeado desbloqueado (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Verde escuro
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Cadeado bloqueado (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Vermelho escuro
end
-- Conectar eventos; nosso estado padrão é bloqueado
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()

ImageContent
Ler Parallel
Recursos: UI
ImageButton.ImageContent:Content

ImageRectOffset
Ler Parallel
Recursos: UI
ImageButton.ImageRectOffset:Vector2
Amostras de código
Animação de Imagem usando Spritesheet
-- Coloque isso em um ImageLabel/ImageButton com tamanho 256x256
local imageLabel = script.Parent
-- A imagem a seguir tem 1024x1024 com 12 quadros (256x256)
-- Os quadros reproduzem uma animação de um homem dando um soco
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- A ordem dos quadros a serem exibidos (da esquerda para a direita, depois de cima para baixo)
local frames = {
Vector2.new(0, 0),
Vector2.new(1, 0),
Vector2.new(2, 0),
Vector2.new(3, 0),
Vector2.new(0, 1),
Vector2.new(1, 1),
Vector2.new(2, 1),
Vector2.new(3, 1),
Vector2.new(0, 2),
Vector2.new(1, 2),
Vector2.new(2, 2),
Vector2.new(3, 2),
}
-- Anime os quadros um de cada vez em um loop
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
end

ImageRectSize
Ler Parallel
Recursos: UI
ImageButton.ImageRectSize:Vector2
Amostras de código
Animação de Imagem usando Spritesheet
-- Coloque isso em um ImageLabel/ImageButton com tamanho 256x256
local imageLabel = script.Parent
-- A imagem a seguir tem 1024x1024 com 12 quadros (256x256)
-- Os quadros reproduzem uma animação de um homem dando um soco
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- A ordem dos quadros a serem exibidos (da esquerda para a direita, depois de cima para baixo)
local frames = {
Vector2.new(0, 0),
Vector2.new(1, 0),
Vector2.new(2, 0),
Vector2.new(3, 0),
Vector2.new(0, 1),
Vector2.new(1, 1),
Vector2.new(2, 1),
Vector2.new(3, 1),
Vector2.new(0, 2),
Vector2.new(1, 2),
Vector2.new(2, 2),
Vector2.new(3, 2),
}
-- Anime os quadros um de cada vez em um loop
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
end

ImageTransparency
Ler Parallel
Recursos: UI
ImageButton.ImageTransparency:number

IsLoaded
Somente leitura
Não replicado
Ler Parallel
Recursos: UI
ImageButton.IsLoaded:boolean
Amostras de código
Tempo de Carregamento da Imagem
local imageLabel = script.Parent
local startTime = workspace.DistributedGameTime
-- Aguarde o carregamento da imagem
while not imageLabel.IsLoaded do
task.wait()
end
-- Meça e exiba quanto tempo levou para carregar
local deltaTime = workspace.DistributedGameTime - startTime
print(("Imagem carregada em %.3f segundos"):format(deltaTime))

PressedImage
Ler Parallel
Recursos: UI
ImageButton.PressedImage:ContentId

PressedImageContent
Ler Parallel
Recursos: UI
ImageButton.PressedImageContent:Content

ResampleMode
Ler Parallel
Recursos: UI
ImageButton.ResampleMode:Enum.ResamplerMode

ScaleType
Ler Parallel
Recursos: UI
ImageButton.ScaleType:Enum.ScaleType

SliceCenter
Ler Parallel
Recursos: UI
ImageButton.SliceCenter:Rect

SliceScale
Ler Parallel
Recursos: UI
ImageButton.SliceScale:number

TileSize
Ler Parallel
Recursos: UI
ImageButton.TileSize:UDim2

©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.