Classe motore
ImageButton
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Sommario
Proprietà
HoverImage:ContentId |
Image:ContentId |
PressedImage:ContentId |
Riferimento API
Proprietà
HoverImage
ImageButton.HoverImage:ContentId
Image
ImageButton.Image:ContentId
Campioni di codice
Blocco Hover dell'Immagine
local imageLabel = script.Parent
-- Le immagini in questo esempio sono 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Lucchetto sbloccato (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Verde scuro
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Lucchetto bloccato (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Rosso scuro
end
-- Collega gli eventi; il nostro stato predefinito è bloccato
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()ImageColor3
Campioni di codice
Blocco Hover dell'Immagine
local imageLabel = script.Parent
-- Le immagini in questo esempio sono 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Lucchetto sbloccato (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Verde scuro
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Lucchetto bloccato (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Rosso scuro
end
-- Collega gli eventi; il nostro stato predefinito è bloccato
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()ImageRectOffset
Campioni di codice
Animazione Immagini usando Spritesheet
-- Posiziona questo in un ImageLabel/ImageButton con dimensioni 256x256
local imageLabel = script.Parent
-- L'immagine seguente è 1024x1024 con 12 fotogrammi (256x256)
-- I fotogrammi riproducono un'animazione di un uomo che lancia un pugno
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- L'ordine dei fotogrammi da visualizzare (da sinistra a destra, poi dall'alto verso il basso)
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 i fotogrammi uno alla volta in un ciclo
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
endImageRectSize
Campioni di codice
Animazione Immagini usando Spritesheet
-- Posiziona questo in un ImageLabel/ImageButton con dimensioni 256x256
local imageLabel = script.Parent
-- L'immagine seguente è 1024x1024 con 12 fotogrammi (256x256)
-- I fotogrammi riproducono un'animazione di un uomo che lancia un pugno
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- L'ordine dei fotogrammi da visualizzare (da sinistra a destra, poi dall'alto verso il basso)
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 i fotogrammi uno alla volta in un ciclo
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
endIsLoaded
Campioni di codice
Tempo di caricamento dell'immagine
local imageLabel = script.Parent
local startTime = workspace.DistributedGameTime
-- Aspetta che l'immagine si carichi
while not imageLabel.IsLoaded do
task.wait()
end
-- Misura e mostra quanto tempo ci è voluto per caricare
local deltaTime = workspace.DistributedGameTime - startTime
print(("Immagine caricata in %.3f secondi"):format(deltaTime))PressedImage
ImageButton.PressedImage:ContentId