Klasa silnika
ImageButton
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Podsumowanie
Właściwości
HoverImage:ContentId |
Image:ContentId |
PressedImage:ContentId |
Materiały referencyjne dotyczące interfejsów API
Właściwości
HoverImage
ImageButton.HoverImage:ContentId
Image
ImageButton.Image:ContentId
Przykłady kodu
Zamek pod obrazem
local imageLabel = script.Parent
-- Obrazy w tym przykładzie mają 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Odblokowana kłódka (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Ciemna zieleń
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Zablokowana kłódka (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Ciemna czerwień
end
-- Połącz zdarzenia; naszym domyślnym stanem jest zablokowane
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()ImageColor3
Przykłady kodu
Zamek pod obrazem
local imageLabel = script.Parent
-- Obrazy w tym przykładzie mają 64x64
imageLabel.Size = UDim2.new(0, 64, 0, 64)
local function unlock()
imageLabel.Image = "rbxassetid://284402785" -- Odblokowana kłódka (64x64)
imageLabel.ImageColor3 = Color3.new(0, 0.5, 0) -- Ciemna zieleń
end
local function lock()
imageLabel.Image = "rbxassetid://284402752" -- Zablokowana kłódka (64x64)
imageLabel.ImageColor3 = Color3.new(0.5, 0, 0) -- Ciemna czerwień
end
-- Połącz zdarzenia; naszym domyślnym stanem jest zablokowane
imageLabel.MouseEnter:Connect(unlock)
imageLabel.MouseLeave:Connect(lock)
lock()ImageRectOffset
Przykłady kodu
Animacja obrazu przy użyciu arkusza Sprite
-- Umieść to w ImageLabel/ImageButton o rozmiarze 256x256
local imageLabel = script.Parent
-- Następujący obraz ma wymiary 1024x1024 i 12 klatek (256x256)
-- Klatki odtwarzają animację mężczyzny, który zadaje cios
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- Kolejność klatek do wyświetlenia (od lewej do prawej, a następnie od góry do dołu)
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),
}
-- Animuj klatki pojedynczo w pętli
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
endImageRectSize
Przykłady kodu
Animacja obrazu przy użyciu arkusza Sprite
-- Umieść to w ImageLabel/ImageButton o rozmiarze 256x256
local imageLabel = script.Parent
-- Następujący obraz ma wymiary 1024x1024 i 12 klatek (256x256)
-- Klatki odtwarzają animację mężczyzny, który zadaje cios
imageLabel.Image = "rbxassetid://848623155"
imageLabel.ImageRectSize = Vector2.new(256, 256)
-- Kolejność klatek do wyświetlenia (od lewej do prawej, a następnie od góry do dołu)
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),
}
-- Animuj klatki pojedynczo w pętli
while true do
for _, frame in ipairs(frames) do
imageLabel.ImageRectOffset = frame * imageLabel.ImageRectSize
task.wait(0.1)
end
endIsLoaded
Przykłady kodu
Czas ładowania obrazu
local imageLabel = script.Parent
local startTime = workspace.DistributedGameTime
-- Czekaj na załadowanie obrazu
while not imageLabel.IsLoaded do
task.wait()
end
-- Zmierz i wyświetl, jak długo zajęło załadowanie
local deltaTime = workspace.DistributedGameTime - startTime
print(("Obraz załadowany w %.3f sekund"):format(deltaTime))PressedImage
ImageButton.PressedImage:ContentId