ImageButton

Mostrar obsoleto

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

Um ImageButton se comporta de forma semelhante a um ImageLabel em relação ao renderizamento, com os comportamentos adicionais de um GuiButton.

Resumo

Propriedades

Propriedades herdados de GuiButtonPropriedades herdados de GuiObjectPropriedades herdados de GuiBase2d

Métodos

Métodos herdados de GuiObject

Eventos

Eventos herdados de GuiButtonEventos herdados de GuiObjectEventos herdados de GuiBase2d

Propriedades

HoverImage

ContentId
Ler Parallel

Um ID de textura que será usado quando o ImageButton estiver sendo movido.

HoverImageContent

Ler Parallel

Image

ContentId
Ler Parallel

Esta propriedade é uma propriedade do tipo conteúdo que deve conter o ID do recurso de um decal ou imagem carregado no Roblox.Ela funciona de forma idêntica a Decal.Texture com relação ao carregamento da imagem do Roblox.A imagem renderizada será colorizada usando ImageColor3 .

Observe que é possível fazer com que a imagem seja renderizada como azulejo, dimensionada para caber ou 9-dividida ao ajustar a propriedade ScaleType.

Amostras de código

This code sample causes an ImageLabel/ImageButton to display a red padlock. When the mouse is hovered, it changes to a green unlocked padlock.

Image Hover Lock

local imageLabel = script.Parent
-- The images in this example are 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Unlocked padlock (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Dark green
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Locked padlock (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Dark red
end
-- Connect events; our default state is locked
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()

ImageColor3

Ler Parallel

Essa propriedade determina como uma imagem é colorizada.Quando definido para branco, nenhuma colorização ocorre.Essa propriedade é muito útil para reutilizar recursos de imagem: Se a imagem de origem for completamente branca com transparência, você pode definir toda a cor da imagem de uma só vez com essa propriedade.

Amostras de código

This code sample causes an ImageLabel/ImageButton to display a red padlock. When the mouse is hovered, it changes to a green unlocked padlock.

Image Hover Lock

local imageLabel = script.Parent
-- The images in this example are 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Unlocked padlock (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Dark green
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Locked padlock (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Dark red
end
-- Connect events; our default state is locked
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()

ImageContent

Ler Parallel

Essa propriedade deve conter um URI de recurso ou uma referência a um ObjetoEditableImage.O URI de recurso pode referenciar um decalque ou imagem carregada no Roblox.Ela funciona de forma idêntica a Decal.Texture com relação ao carregamento da imagem.

A imagem renderizada será colorizada usando ImageColor3 .É possível fazer com que a imagem seja renderizada como azulejada, escalonada para caber ou 9‑dividida ao ajustar a propriedade ScaleType.

ImageRectOffset

Ler Parallel

Essa propriedade determina o deslocamento de pixels (a partir da esquerda superior) da área de imagem a ser exibida, permitindo o exibição parcial de uma imagem em conjunto com ImageRectSize.

Amostras de código

This code sample uses ImageRectOffset/ImageRectSize in order to play an animation of a man throwing a punch

Image Animation using Spritesheet

-- Place this in an ImageLabel/ImageButton with size 256x256
local imageLabel = script.Parent
-- The following image is 1024x1024 with 12 frames (256x256)
-- The frames play an animation of a man throwing a punch
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- The order of the frames to be displayed (left-to-right, then top-to-bottom)
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),
}
-- Animate the frames one at a time in a loop
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
end

ImageRectSize

Ler Parallel

Essa propriedade determina o tamanho do pixel da área de imagem a ser exibida, permitindo a exibição parcial de uma imagem em conjunto com ImageRectOffset.Se alguma dimensão for definida como 0, a imagem inteira será exibida em vez disso.

Amostras de código

This code sample uses ImageRectOffset/ImageRectSize in order to play an animation of a man throwing a punch

Image Animation using Spritesheet

-- Place this in an ImageLabel/ImageButton with size 256x256
local imageLabel = script.Parent
-- The following image is 1024x1024 with 12 frames (256x256)
-- The frames play an animation of a man throwing a punch
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- The order of the frames to be displayed (left-to-right, then top-to-bottom)
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),
}
-- Animate the frames one at a time in a loop
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
end

ImageTransparency

Ler Parallel

Essa propriedade determina o alfa da imagem renderizada do elemento.Um valor de 0 é completamente opaco e um valor de 1 é completamente transparente (invisível).Essa propriedade se comporta de forma semelhante a GuiObject.BackgroundTransparency ou BasePart.Transparency.

Se você desabilitar a renderização de imagem definindo ImageTransparency para 1, resultará em um retângulo simples que pode ser usado como botão.No entanto, pode ser melhor usar um vazio TextButton em vez disso.

IsLoaded

Somente leitura
Não replicado
Ler Parallel

Essa propriedade indica se a propriedade Image terminou de carregar do Roblox. Imagens rejeitadas pela moderação nunca serão carregadas.

Amostras de código

This code sample measures how long an ImageLabel or ImageButton takes to load an image. If the image was already loaded, this will be 0.

Image Load Time

local imageLabel = script.Parent
local startTime = workspace.DistributedGameTime
-- Wait for the image to load
while not imageLabel.IsLoaded do
task.wait()
end
-- Measure and display how long it took to load
local deltaTime = workspace.DistributedGameTime - startTime
print(("Image loaded in %.3f seconds"):format(deltaTime))

PressedImage

ContentId
Ler Parallel

Um ID de textura que pode ser definido como uma propriedade ImageButton. Quando o botão for pressionado, ele renderizará essa imagem.

PressedImageContent

Ler Parallel

ResampleMode

Ler Parallel

Determina como a imagem aparece quando é escalada.Por padrão, a imagem suaviza a textura quando exibida maior ou menor que seu tamanho na memória de textura.Em contraste, Enum.ResamplerMode.Pixelated preserva as bordas afiadas dos pixels de imagem.

Ler Parallel

Essa propriedade determina de que maneira a propriedade Image é renderizada quando o tamanho absoluto do elemento da interface difere do tamanho da imagem de origem.

Por padrão, esta propriedade é Enum.ScaleType.Stretch a qual simplesmente estenderá/compactará as dimensões da imagem para que ela se encaixe exatamente no espaço do elemento da interface.Como pixels transparentes são definidos como pretos ao fazer o upload para o Roblox, imagens transparentes devem aplicar fusão alfa para evitar um contorno negro em torno de imagens escalonadas.

Para Enum.ScaleType.Slice , ao aumentar a escala, os cantos permanecerão como o tamanho da imagem de origem.Os cantos da imagem se estenderão para a largura/altura da imagem.Finalmente, o centro da imagem se estenderá para preencher a área central da imagem.Para aprender mais sobre imagens de 9 fatias, veja Design da Interface de Usuário de 9 Fatias.

Para Enum.ScaleType.Tile , o tamanho de cada mosaico de imagem é determinado pela propriedade TileSize.

SliceCenter

Ler Parallel

Essa propriedade define os limites de corte de uma imagem de 9 fatias quando é definido como .

Para aprender mais sobre imagens de 9 fatias, veja Design da Interface de Usuário de 9 Fatias.

SliceScale

Ler Parallel

Escala as bordas de 9 fatias pela taxa especificada.Isso significa que as bordas ao redor do 9‑slice crescerão como se você tivesse carregado uma nova versão da textura upscaled.Padrão para 1.0 .

Como multiplicador para as bordas de um 9-slice, é útil reutilizar uma imagem de canto arredondado para vários raios.

Veja também ScaleType que determina como uma imagem será escalada se exibida em um elemento de UI cujo tamanho difere da imagem de origem.

TileSize

Ler Parallel

Define o tamanho do mosaico da ImageButton iniciando no canto superior esquerdo da imagem.Os valores padrão UDim2 são 1, 0, 1, 0 ; os componentes de escala do UDim2 escalarão o mosaico com base no tamanho do ImageButton enquanto os componentes de deslocamento estão em píxeis brutos.Por exemplo, uma escala de 0.5 significa que o mosaico terá metade do tamanho do ImageButton no eixo correspondente.

Essa propriedade só está ativa se a propriedade ScaleType estiver definida como Enum.ScaleType.Tile.

Métodos

Eventos