Clase de motor
ImageButton
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
Resumen
Propiedades
HoverImage:ContentId |
Image:ContentId |
PressedImage:ContentId |
Referencia API
Propiedades
HoverImage
ImageButton.HoverImage:ContentId
Image
ImageButton.Image:ContentId
Muestras de código
Bloqueo de Imagen al Pasar el Ratón
local imageLabel = script.Parent
-- Las imágenes en este ejemplo son 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Candado desbloqueado (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Verde oscuro
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Candado bloqueado (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Rojo oscuro
end
-- Conectar eventos; nuestro estado predeterminado es bloqueado
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()ImageColor3
Muestras de código
Bloqueo de Imagen al Pasar el Ratón
local imageLabel = script.Parent
-- Las imágenes en este ejemplo son 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Candado desbloqueado (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Verde oscuro
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Candado bloqueado (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Rojo oscuro
end
-- Conectar eventos; nuestro estado predeterminado es bloqueado
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()ImageRectOffset
Muestras de código
Animación de Imagen usando Spritesheet
-- Coloca esto en un ImageLabel/ImageButton con tamaño 256x256
local imageLabel = script.Parent
-- La siguiente imagen es 1024x1024 con 12 fotogramas (256x256)
-- Los fotogramas reproducen una animación de un hombre lanzando un puñetazo
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- El orden de los fotogramas a ser mostrados (de izquierda a derecha, luego de arriba a abajo)
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),
}
-- Anima los fotogramas uno a la vez en un bucle
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
endImageRectSize
Muestras de código
Animación de Imagen usando Spritesheet
-- Coloca esto en un ImageLabel/ImageButton con tamaño 256x256
local imageLabel = script.Parent
-- La siguiente imagen es 1024x1024 con 12 fotogramas (256x256)
-- Los fotogramas reproducen una animación de un hombre lanzando un puñetazo
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- El orden de los fotogramas a ser mostrados (de izquierda a derecha, luego de arriba a abajo)
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),
}
-- Anima los fotogramas uno a la vez en un bucle
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
endIsLoaded
Muestras de código
Tiempo de Carga de Imagen
local imageLabel = script.Parent
local startTime = workspace.DistributedGameTime
-- Espera a que la imagen se cargue
while not imageLabel.IsLoaded do
task.wait()
end
-- Mide y muestra cuánto tiempo tomó cargar
local deltaTime = workspace.DistributedGameTime - startTime
print(("La imagen se cargó en %.3f segundos"):format(deltaTime))PressedImage
ImageButton.PressedImage:ContentId