ImageButton

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Un ImageButton se comporta de manera similar a un ImageLabel en términos de renderizado, con los comportamientos adicionales de un GuiButton .

Resumen

Propiedades

Propiedades heredados de GuiButtonPropiedades heredados de GuiObjectPropiedades heredados de GuiBase2d

Métodos

Métodos heredados de GuiObject

Eventos

Eventos heredados de GuiButtonEventos heredados de GuiObjectEventos heredados de GuiBase2d

Propiedades

HoverImage

ContentId
Leer paralelo

Un ID de textura que se usará cuando se esté pasando el ImageButton .

HoverImageContent

Leer paralelo

Image

ContentId
Leer paralelo

Esta propiedad es una propiedad de tipo de contenido que debe contener el ID del activo de una etiqueta o imagen subida a Roblox.Funciona de manera idéntica a Decal.Texture con respecto a la carga de la imagen de Roblox.La imagen renderizada se coloreará usando ImageColor3 .

Tenga en cuenta que es posible hacer que la imagen se renderice como azulejada, escalada para encajar o de 9 slices al ajustar la propiedad ScaleType.

Muestras 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

Leer paralelo

Esta propiedad determina cómo se colorea una imagen.Cuando se establece en blanco, no ocurre colorización.Esta propiedad es muy útil para reutilizar recursos de imagen: si la imagen de origen es completamente blanca con transparencia, puedes establecer todo el color de la imagen a la vez con esta propiedad.

Muestras 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

Leer paralelo

Esta propiedad debe contener un URI de activo o una referencia a un objeto EditableImage.La URI de activo puede referenciar una etiqueta o imagen subida a Roblox.Funciona de forma idéntica a Decal.Texture con respecto a la carga de la imagen.

La imagen renderizada se coloreará usando ImageColor3 .Es posible hacer que la imagen se renderice como azulejada, escalada para encajar o 9‑cortada al ajustar la propiedad ScaleType.

ImageRectOffset

Leer paralelo

Esta propiedad determina el desplazamiento de píxeles (desde la parte superior izquierda) del área de imagen a mostrar, permitiendo el desplazamiento parcial de una imagen junto con ImageRectSize .

Muestras 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

Leer paralelo

Esta propiedad determina el tamaño de píxel de la zona de imagen a mostrar, permitiendo la visualización parcial de una imagen junto con ImageRectOffset .Si ambas dimensiones se establecen en 0, se muestra la imagen completa en su lugar.

Muestras 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

Leer paralelo

Esta propiedad determina el alfa de la imagen renderizada del elemento.Un valor de 0 es completamente opaco y un valor de 1 es completamente transparente (invisible).Esta propiedad se comporta de manera similar a GuiObject.BackgroundTransparency o BasePart.Transparency .

Si desactivas la renderización de imágenes al establecer ImageTransparency a 1, resultará en un rectángulo simple que se puede usar como botón.Sin embargo, puede ser mejor usar un vacío TextButton en su lugar.

IsLoaded

Solo lectura
No replicado
Leer paralelo

Esta propiedad indica si la propiedad Image ha terminado de cargarse desde Roblox. Las imágenes rechazadas por la moderación nunca se cargarán.

Muestras 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
Leer paralelo

Un ID de textura que se puede establecer como una propiedad ImageButton. Cuando se presiona el botón, renderizará esta imagen.

PressedImageContent

Leer paralelo

ResampleMode

Leer paralelo

Determina cómo se ve la imagen cuando se escala.Por defecto, la imagen suaviza la textura cuando se muestra más grande o más pequeña que su tamaño en la memoria de textura.En contraste, Enum.ResamplerMode.Pixelated preserva los bordes afilados de los píxeles de imagen.

Leer paralelo

Esta propiedad determina de qué manera se renderiza la propiedad Image cuando el tamaño absoluto del elemento de la interfaz de usuario difiere del tamaño de la imagen fuente.

Por defecto, esta propiedad es Enum.ScaleType.Stretch la cual simplemente estirará/compactará las dimensiones de la imagen para que encaje exactamente en el espacio del elemento de la interfaz de usuario.Dado que los píxeles transparentes se establecen en negro al subir a Roblox, las imágenes transparentes deberían aplicar mezcla alfa para evitar un contorno negro alrededor de imágenes escaladas.

Para Enum.ScaleType.Slice , al aumentar la escala, las esquinas seguirán siendo el tamaño de imagen de origen.Los bordes de la imagen se extenderán a la anchura/altura de la imagen.Por último, el centro de la imagen se estirará para llenar el área central de la imagen.Para aprender más sobre imágenes de 9 capas, vea Diseño de interfaz de usuario de 9 capas.

Para Enum.ScaleType.Tile , el tamaño de cada azulejo de imagen se determina por la propiedad TileSize.

SliceCenter

Leer paralelo

Esta propiedad establece los límites de la porción de una imagen de 9 rebanadas cuando ScaleType se establece en Enum.ScaleType.Slice .

Para aprender más sobre imágenes de 9 capas, vea Diseño de interfaz de usuario de 9 capas.

SliceScale

Leer paralelo

Escala los bordes de las 9 piezas por la relación especificada.Esto significa que los bordes alrededor de la rebanada 9 crecerán como si hubieras subido una nueva versión de la textura escalada.Por defecto a 1.0.

Como multiplicador de los bordes de una rebanada de 9, es útil para reutilizar una imagen de esquina redondeada para múltiples radios.

Vea también ScaleType que determina cómo se escalará una imagen si se muestra en un elemento de interfaz de usuario cuyo tamaño difiere de la imagen de origen.

TileSize

Leer paralelo

Establece el tamaño de la cuadrícula de la ImageButton que comienza en la esquina superior izquierda de la imagen.Los valores predeterminados de UDim2 son 1, 0, 1, 0 ; los componentes de escala de la de UDim2 escalarán la baldosa en función del tamaño de la de ImageButton mientras que los componentes de desplazamiento estarán en píxeles crudos.Por ejemplo, una escala de 0.5 significa que la baldosa tendrá la mitad del tamaño de la ImageButton en el eje correspondiente.

Esta propiedad solo está activa si la propiedad ScaleType está configurada como Enum.ScaleType.Tile.

Métodos

Eventos