Engine-klasse
ImageButton
*Deze inhoud is vertaald met behulp van AI (bèta) en kan fouten bevatten. Klik hier om deze pagina in het Engels te bekijken.
Samenvatting
Eigenschappen
HoverImage:ContentId |
Image:ContentId |
PressedImage:ContentId |
API-referentie
Eigenschappen
HoverImage
ImageButton.HoverImage:ContentId
Image
ImageButton.Image:ContentId
Codevoorbeelden
Afbeelding Hover Slot
local imageLabel = script.Parent
-- De afbeeldingen in dit voorbeeld zijn 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Ontgrendeld hangslot (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Donkergroen
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Vergrendeld hangslot (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Donkerrood
end
-- Verbind evenementen; onze standaardstatus is vergrendeld
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()ImageColor3
Codevoorbeelden
Afbeelding Hover Slot
local imageLabel = script.Parent
-- De afbeeldingen in dit voorbeeld zijn 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Ontgrendeld hangslot (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Donkergroen
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Vergrendeld hangslot (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Donkerrood
end
-- Verbind evenementen; onze standaardstatus is vergrendeld
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()ImageRectOffset
Codevoorbeelden
Afbeelding Animatie met Spritesheet
-- Plaats dit in een ImageLabel/ImageButton met grootte 256x256
local imageLabel = script.Parent
-- De volgende afbeelding is 1024x1024 met 12 frames (256x256)
-- De frames spelen een animatie van een man die een stoot geeft
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- De volgorde van de frames die weergegeven moeten worden (van links naar rechts, dan van boven naar beneden)
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),
}
-- Animeer de frames één voor één in een lus
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
endImageRectSize
Codevoorbeelden
Afbeelding Animatie met Spritesheet
-- Plaats dit in een ImageLabel/ImageButton met grootte 256x256
local imageLabel = script.Parent
-- De volgende afbeelding is 1024x1024 met 12 frames (256x256)
-- De frames spelen een animatie van een man die een stoot geeft
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- De volgorde van de frames die weergegeven moeten worden (van links naar rechts, dan van boven naar beneden)
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),
}
-- Animeer de frames één voor één in een lus
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
endIsLoaded
Codevoorbeelden
Afbeelding Laadtijd
local imageLabel = script.Parent
local startTime = workspace.DistributedGameTime
-- Wacht tot de afbeelding is geladen
while not imageLabel.IsLoaded do
task.wait()
end
-- Meet en toon hoe lang het heeft geduurd om te laden
local deltaTime = workspace.DistributedGameTime - startTime
print(("Afbeelding geladen in %.3f seconden"):format(deltaTime))PressedImage
ImageButton.PressedImage:ContentId