ImageButton
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Một ImageButton hành xử tương tự như một ImageLabel trong quá trình thiết lập với thêm các hành vi của một GuiButton . Nó định nghĩa cùng các thuộc tính tạo hình ảnh như một ImageLabel định nghĩa.
Bạn có thể tắt render hình ảnh bằng cách đặt ImageButton.ImageTransparency để 1. Điều này sẽ để lại cho bạn một hình ảnh trống có thể được sử dụng như một nút. Tuy nhiên, nó có thể là tốt hơn để sử dụng một hình ảnh trống TextButton cho điều n
Mẫu mã
-- Place this code in a LocalScript in an ImageButton
local imageButton = script.Parent
local colorNormal = Color3.new(1, 1, 1) -- white
local colorHover = Color3.new(0, 1, 0) -- green
local colorPress = Color3.new(1, 0, 0) -- red
-- This is a 32x32 image of a backpack
imageButton.Image = "rbxassetid://787458668"
imageButton.BackgroundTransparency = 1
local function onActivated()
print("open the inventory")
end
local function onPressed()
imageButton.ImageColor3 = colorPress
end
local function onReleased()
imageButton.ImageColor3 = colorHover
end
local function onEntered()
imageButton.ImageColor3 = colorHover
end
local function onLeft()
imageButton.ImageColor3 = colorNormal
end
imageButton.MouseEnter:Connect(onEntered)
imageButton.MouseLeave:Connect(onLeft)
imageButton.MouseButton1Down:Connect(onPressed)
imageButton.MouseButton1Up:Connect(onReleased)
imageButton.Activated:Connect(onActivated)
-- Start with the default, non-hovered state
onLeft()
Tóm Tắt
Thuộc Tính
Một ID chuẩn bị cho phép khi bạn giữ ImageButton .
Nội dung hình ảnh hiển thị bởi thành phần UI. Đọc và viết vào ImageContent .
Xác định cách màu sắc hình ảnh được tạo.
Nội dung hình ảnh được hiển thị bởi thành phần UI. Hỗ trợ liên kết tài sản và EditableImage .
Số lệch trong pixel của khu vực dưới đấy của hình ảnh để hiển thị.
Xác định kích thước trong pixel của khu vực hình ảnh để được hiển thị.
Xác định độ trong suốt của hình ảnh đã tạo.
Chỉ ra nếu hình ảnh đã tải xong từ trang Roblox.
Một textureId sẽ được sử dụng khi một ImageButton được nhấn.
Chọn chế độ tái chỉnh hình ảnh cho nút.
Xác định cách mà hình ảnh sẽ thay đổi kích thước nếu được hiển thị trong một thành phần UI whose kích thước khác biệt từ hình ảnh nguồn.
Đặt giới hạn cắt của hình ảnh 9-sliced.
Tăng 9 cạnh mép bằng tỷ lệ được xác định.
Điều chỉnh kích thước thẻ của ImageButton.
Xác định màu sắc của nút khi chuột hoạt động trên hoặc nhấp vào nó.
Nếu đúng khi thành phần GUI đang hiển thị, chuột sẽ không bị khóa nếu nút chuột phải không được nhấn.
Một đặt tínhBoolean để cho biết có phải chọn một đối tượng nào không.
Định dạng kiểu của GuiButton dựa trên một danh sách các kiểu đã định.
Xác định whether this UI element sinks input.
Xác định điểm nguồn của một GuiObject , so với kích thước tương đối của nó.
Xác định xem resize có xảy ra dựa trên nội dung con hay không.
Xác định màu nền GuiObject .
Xác định độ trong suốt của GuiObject hình ảnh và biên giới.
Xác định màu của GuiObject border.
Xác định cách mà GuiObject biên giới được phân bố đối với kích thước của nó.
Xác định chiều rộng pixel của GuiObject biên giới.
Xác định nếu con cháu GuiObjects nằm ngoài giới hạn của một thành phần GUI cha mẹ nên tạo ra.
Xác định apakah chuột của người chơi đang được nhấn chủ động trên GuiObject hay không.
Xác định có thể hay không tương tác với GuiButton , hoặc liệu GuiState của GuiObject đang thay đổi hay không.
Điều khiển thứ tự sắp xếp của GuiObject khi được sử dụng với một UIGridStyleLayout .
Điều chỉnh GuiObject được chọn khi gamepad selector được di chuyển xuống.
Điều chỉnh GuiObject được chọn khi gamepad selector được di chuyển sang bên trái.
Điều chỉnh GuiObject được chọn khi gamepad selector được di chuyển sang phải.
Điều chỉnh GuiObject được chọn khi gamepad selector di chuyển lên trên.
Xác định vị trí pixel và vị trí trục của GuiObject .
Xác định số độ bằng mà GuiObject được quay.
Xác định có thể chọn GUI bằng gamepad.
Làm cho trang trí chọn mặc định của gamepad bị tắt.
Thứ tự của GuiObjects được chọn bởi gamepad UI lựa chọn.
Xác định kích thước pixel và kích thước trục của GuiObject .
Điều chỉnh các trục Size mà GuiObject sẽ dựa trên, so với kích thước của cha mình.
Một tính chất hỗn hợp của BackgroundTransparency và TextTransparency .
Xác định có phải GuiObject và con cháu của nó sẽ được xử lý.
Xác định thứ tự mà một GuiObject tạo gần những người khác.
Mô tả vị trí màn hình thực tế của một thành phần UI, bằng cách đếm các pixel.
Mô tả sự quay màn hình thực tế của một thành phần UI, bằng độ.
Mô tả kích thước màn hình thực tế của một thành phần UI, bằng các pixel.
Khi đặt về true, localization sẽ được áp dụng cho GuiBase2d và những con cháu của nó.
Một tham khảo đến một LocalizationTable để ứng dụng hóa học hóa toàn bộ vào GuiBase2d và các con cháu của nó.
Tùy chỉnh hành vi lựa chọn gamepad ở hướng dưới.
Tùy chỉnh hành vi lựa chọn gamepad ở hướng bên trái.
Tùy chỉnh hành vi lựa chọn gamepad ở hướng phải.
Tùy chỉnh hành vi lựa chọn gamepad trong hướng lên.
Cho phép tùy chỉnh chuyển động của nút gamepad.
Phương Pháp
Phương Pháp kế thừa từ GuiObject- TweenPosition(endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
Di chuyển một GUI mượt mà đến một new UDim2 .
- TweenSize(endSize : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
Điều chỉnh mượt mà một GUI lên một new Datatype.UDim2 .
- TweenSizeAndPosition(endSize : UDim2,endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
Di chuyển một GUI một cách mượt mà đến kích thước và vị trí mới.
Sự Kiện
Sự Kiện kế thừa từ GuiButtonBắt lửa khi nút được kích hoạt.
Đã khởi động khi chuột hoàn toàn rời khỏi nhấp vào nút GUI.
Bắt đầu khi chuột ở trạng thái bên dưới của chuột trên đối tượng GUI.
Bắt đầu khi chuột trái đã thả vật GUI.
Đã khởi động khi chuột hoàn toàn nhấp vào nút GUI.
Bắt đầu khi chuột ở trạng thái đúng chuột dưới cùng trên đối tượng GUI.
Bắt đầu khi nút chuột phải đã được thả trên một đối tượng GUI.
Được kích hoạt khi một người bắt đầu tương tác thông qua một thiết bị giao tiếp người-máy (chuột bên dưới, chạm bắt đầu, nút bàn phím xuống, v.v.v).
Bị kích động khi một người thay đổi cách họ tương tác thông qua thiết bị giao tiếp Người-Máy (chuột, bắt đầu, nhấn bàn phím, v.v..).
Đã kết thúc khi một người dừng tương tác thông qua thiết bị Giao tiếp Người-Máy (chuột bên dưới, chạm bắt đầu, nút bàn phím xuống, v.v.);.
Bắt đầu khi người dùng di chuyển chuột vào một thành phần GUI.
Bắt đầu khi người dùng di chuyển chuột khỏi một thành phần GUI.
Bắt lửa mỗi khi một người dịch chuột trong khi nó ở trong một thành phần GUI.
Bắt đầu khi người dùng cuộn chuột chuột của họ trở lại khi chuột đang ở trên một thành phần GUI.
Bắt đầu khi người dùng di chuyển bánh xe chuột của họ khi chuột ở trên một thành phần GUI.
Được kích hoạt khi GuiObject đang được tập trung với GamepadSelector.
Bị kích hoạt khi GamepadSelector ngưng tập trung vào GuiObject.
Lửa khi người chơi bắt đầu, tiếp tục và dừng lại sau khi nhấn mạnh UI.
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
Bắt đầu khi người chơi di chuyển ngón tay của họ trên thành phần UI.
- TouchPinch(touchPositions : Array,scale : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Bắt lửa khi người chơi thực hiện một hành động nhấn hoặc kéo dùng hai ngón tay trên thành phần UI.
- TouchRotate(touchPositions : Array,rotation : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Bắt đầu khi người chơi thực hiện một hành động quay bằng hai ngón tay trên thành phần UI.
Bắt đầu khi người chơi thực hiện một động tác trượt tuyết trên một thành phần UI.
Bắt đầu khi người chơi thực hiện một hành động nhấn chuột trên thành phần UI.
- SelectionChanged(amISelected : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
Kích hoạt khi lựa chọn gamepad di chuyển đến, rời đi hoặc thay đổi trong khu vực GuiBase2d hoặc bất kỳ con cháu GuiObjects kế tiếp.
Thuộc Tính
Image
Đây là một thuộc tính kiểu nội dung mà nó nên giữ ID tài nguyên của một hình ảnh hoặc video đã tải lên Roblox. Nó hoạt động tương tự như Class.Decal.Texture
Mẫu mã
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
Thuộc tính Màu Hình ảnh3 xác định cách mà một hình ảnh được màu sắc. Khi đặt trên trắng, không có sự đổi màu nào xảy ra. Thuộc tính này rất hữu ích cho việc tái sử dụng nguồn ảnh: Nếu hình ảnh nguồn là hoàn toàn trắng với độ trong suốt, bạn có thể thiết lậ
Mẫu mã
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()
local RunService = game:GetService("RunService")
local imageLabel = script.Parent
local function onRenderStep()
imageLabel.ImageColor3 = Color3.fromHSV(workspace.DistributedGameTime / 8 % 1, 1, 1)
end
RunService.RenderStepped:Connect(onRenderStep)
ImageContent
Thuộc tính này nên giữ một URL tài sản hoặc một tham chiếu đến một EditableImage đối tượng.
URL tài nguyên có thể tham khảo một decal hoặc hình ảnh đã tải lên Roblox. Nó hoạt động tương tự như Decal.Texture đối với việc tải hình ảnh.
Hình ảnh được tạo sẽ được nhuộm màu bằng cách sử dụng ImageButton.ImageColor3 . Có thể tạo hình ảnh nhuộm màu bằng cách điều chỉnh thuộc tính ImageButton.ScaleType .
ImageRectOffset
Cho phép hiển thị một hình ảnh bằng cách kết hợp với ImageButton.ImageRectSize . Điều này định vị lỗi đo (từ trên cùng bên trái) của khu vực hình ảnh để được hiển thị.
Đặt tính này hành xử giống như ImageLabel.ImageRectSize .
Mẫu mã
-- 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
local imageLabel = script.Parent
-- Set the source image to be a 64x64 padlock
imageLabel.Image = "rbxassetid://284402752"
imageLabel.BackgroundTransparency = 0
imageLabel.BackgroundColor3 = Color3.new(1, 1, 1) -- White
imageLabel.ImageColor3 = Color3.new(0, 0, 0) -- Black
local function resizeInACircle()
for theta = 0, 2, 0.02 do
imageLabel.Size = UDim2.new(
0,
100 + math.cos(theta * 2 * math.pi) * 50,
0,
100 + math.sin(theta * 2 * math.pi) * 50
)
task.wait()
end
end
while true do
-- Stretch simply stretches the source image to fit
-- the UI element's space
imageLabel.ScaleType = Enum.ScaleType.Stretch
resizeInACircle()
-- Tile will render the source image multiple times
-- enough to fill the UI element's space
imageLabel.ScaleType = Enum.ScaleType.Tile
imageLabel.TileSize = UDim2.new(0, 64, 0, 64)
resizeInACircle()
-- Slice will turn the image into a nine-slice UI.
imageLabel.ScaleType = Enum.ScaleType.Slice
imageLabel.SliceCenter = Rect.new(30, 30, 34, 34)
resizeInACircle()
end
ImageRectSize
Cho phép hiển thị một phần của hình ảnh kết hợp với ImageButton.ImageRectOffset . Đặt tính này xác định kích thước pixel của khu vực hình ảnh để được hiển thị. Nếu cả hai kích thước đều được đặt để 0, toàn bộ hình ảnh được hiển thị thay vì đó.
Đặt tính này hành xử giống như ImageLabel.ImageRectOffset .
Mẫu mã
-- 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
local imageLabel = script.Parent
-- Set the source image to be a 64x64 padlock
imageLabel.Image = "rbxassetid://284402752"
imageLabel.BackgroundTransparency = 0
imageLabel.BackgroundColor3 = Color3.new(1, 1, 1) -- White
imageLabel.ImageColor3 = Color3.new(0, 0, 0) -- Black
local function resizeInACircle()
for theta = 0, 2, 0.02 do
imageLabel.Size = UDim2.new(
0,
100 + math.cos(theta * 2 * math.pi) * 50,
0,
100 + math.sin(theta * 2 * math.pi) * 50
)
task.wait()
end
end
while true do
-- Stretch simply stretches the source image to fit
-- the UI element's space
imageLabel.ScaleType = Enum.ScaleType.Stretch
resizeInACircle()
-- Tile will render the source image multiple times
-- enough to fill the UI element's space
imageLabel.ScaleType = Enum.ScaleType.Tile
imageLabel.TileSize = UDim2.new(0, 64, 0, 64)
resizeInACircle()
-- Slice will turn the image into a nine-slice UI.
imageLabel.ScaleType = Enum.ScaleType.Slice
imageLabel.SliceCenter = Rect.new(30, 30, 34, 34)
resizeInACircle()
end
ImageTransparency
Transparency hình ảnh chỉ định alpha của hình ảnh render của một thành phần UI. Một giá trị 0 là hoàn toàn bị che giấu, và một giá trị 1 là hoàn toàn trong suốt (hiện hữu). Điều này tương tự như GuiObject.BackgroundTransparency hoặc BasePart.Transparency .
Mẫu mã
local RunService = game:GetService("RunService")
local imageLabel = script.Parent
local function onRenderStep()
-- Oscillate ImageTransparency from 0 to 1 using a sine wave
imageLabel.ImageTransparency = math.sin(workspace.DistributedGameTime * math.pi) * 0.5 + 0.5
end
RunService.RenderStepped:Connect(onRenderStep)
IsLoaded
Thuộc tính IsLoaded cho biết có phải lúc nào ImageButton.Image tài nguyên đã tải xong từ trang Roblox không. Các hình ảnh bị từ chối bởi sự kiểm duyệt sẽ không bao giờ được tải.
Mẫu mã
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
Một ID chất liệu có thể được cài đặt như một tính chất ImageButton. Khi nút được nhấn, nó sẽ hiển thị hình ảnh này.
ResampleMode
Xác định cách hình ảnh xem khi được thay đổi kích thước.
Bởi mặc định, hình ảnh lọc bỏ lớp thoáng khi hiển thị lớn hơn hoặc nhỏ hơn kích thước của nó trong bộ nhớ thoáng. Ngược lại, Enum.ResamplerMode.Pixelated giữ các cạnh sắc nét của hình ảnh.
ScaleType
Thuộc tính ScaleType xác định cách mà một ImageButton.Image được hiển thị khi kích thước tuyệt đối của thành phần UI không khớp nối với kích thước nguồn hình ảnh.
Bởi mặc định, thuộc tính này là Enum.ScaleType.Stretch , which will simply stretch/compact the image dimensions so it fits the UI element's space exactly. Since transparent pixels are set to black when uploading to the Roblox website, transparent images should apply alpha bluring to avoid a blackish outline around scaled images.
Đối với Enum.ScaleType.Slice, thuộc tính ImageButton.SliceCenter sẽ được hiển thị trong cửa sổ Prop性. Đối với UI 9-Slice, các góc sẽ ở lại kích thước hình ảnh nguồn. Các mép của
Cuối cùng, cho Enum.ScaleType.Tile , các ImageButton.TileSize đặt tính sẽ được hiển thị trong các cửộc sống của các đối tượng. Đây là cho các hình ảnh đã phủ kín, nơi kích thước của mỗi hình ảnh đượ
Mẫu mã
local imageLabel = script.Parent
-- Set the source image to be a 64x64 padlock
imageLabel.Image = "rbxassetid://284402752"
imageLabel.BackgroundTransparency = 0
imageLabel.BackgroundColor3 = Color3.new(1, 1, 1) -- White
imageLabel.ImageColor3 = Color3.new(0, 0, 0) -- Black
local function resizeInACircle()
for theta = 0, 2, 0.02 do
imageLabel.Size = UDim2.new(
0,
100 + math.cos(theta * 2 * math.pi) * 50,
0,
100 + math.sin(theta * 2 * math.pi) * 50
)
task.wait()
end
end
while true do
-- Stretch simply stretches the source image to fit
-- the UI element's space
imageLabel.ScaleType = Enum.ScaleType.Stretch
resizeInACircle()
-- Tile will render the source image multiple times
-- enough to fill the UI element's space
imageLabel.ScaleType = Enum.ScaleType.Tile
imageLabel.TileSize = UDim2.new(0, 64, 0, 64)
resizeInACircle()
-- Slice will turn the image into a nine-slice UI.
imageLabel.ScaleType = Enum.ScaleType.Slice
imageLabel.SliceCenter = Rect.new(30, 30, 34, 34)
resizeInACircle()
end
SliceCenter
Thuộc tính SliceCenter điều chỉnh các giới hạn của các ô đĩa trong hình ảnh 9-sliced khi ImageButton.ScaleType được đ
Để tìm hiểu thêm về hình ảnh 9-sliced, hãy xem hướng dẫn này: Thiết kế UI 9 Slice.
Mẫu mã
local imageLabel = script.Parent
-- Set the source image to be a 64x64 padlock
imageLabel.Image = "rbxassetid://284402752"
imageLabel.BackgroundTransparency = 0
imageLabel.BackgroundColor3 = Color3.new(1, 1, 1) -- White
imageLabel.ImageColor3 = Color3.new(0, 0, 0) -- Black
local function resizeInACircle()
for theta = 0, 2, 0.02 do
imageLabel.Size = UDim2.new(
0,
100 + math.cos(theta * 2 * math.pi) * 50,
0,
100 + math.sin(theta * 2 * math.pi) * 50
)
task.wait()
end
end
while true do
-- Stretch simply stretches the source image to fit
-- the UI element's space
imageLabel.ScaleType = Enum.ScaleType.Stretch
resizeInACircle()
-- Tile will render the source image multiple times
-- enough to fill the UI element's space
imageLabel.ScaleType = Enum.ScaleType.Tile
imageLabel.TileSize = UDim2.new(0, 64, 0, 64)
resizeInACircle()
-- Slice will turn the image into a nine-slice UI.
imageLabel.ScaleType = Enum.ScaleType.Slice
imageLabel.SliceCenter = Rect.new(30, 30, 34, 34)
resizeInACircle()
end
SliceScale
Tăng cỡ các cạnh 9-Slice bằng tỷ lệ được xác định. Điều này có nghĩa là các cạnh xung quanh 9-Slice sẽ phát triển như thể bạn đã tải một phiên bản mới của textured lên. Mặc định là 1.0.
Là một hệ số nhân cho các cạnh của một 9-Slice, nó là hữu ích để tái sử dụng một hình ảnh góc tròn để nhiều radii
Xem thêm:
- ImageButton.ScaleType , xác định cách mà hình ảnh sẽ thay đổi kích thước nếu được hiển thị trong một thành phần UI cuộn dữ liệu khác với hình ảnh nguồn
- ImageLabel.ScaleCenter , xác định trung tâm của một hình ảnh 9-Slice
- ImageButton.SliceScale , cùng một chức năng nhưng cho ImageButtons
TileSize
TileSize điều chỉnh kích thước gạch của ImageButton. Các giá trị mặc định của UDim2 là 1,0,1,0. Phần thưởng của UDim2 sẽ bắt đầu từ góc trên cùng bên trái của hình ảnh. Ví
Điều này chỉ được kích hoạt nếu ScaleType cho Button Hình ảnh được đặt thành Gạch chứ không phải là Slice hoặc Stretch.
Mẫu mã
local imageLabel = script.Parent
-- Set the source image to be a 64x64 padlock
imageLabel.Image = "rbxassetid://284402752"
imageLabel.BackgroundTransparency = 0
imageLabel.BackgroundColor3 = Color3.new(1, 1, 1) -- White
imageLabel.ImageColor3 = Color3.new(0, 0, 0) -- Black
local function resizeInACircle()
for theta = 0, 2, 0.02 do
imageLabel.Size = UDim2.new(
0,
100 + math.cos(theta * 2 * math.pi) * 50,
0,
100 + math.sin(theta * 2 * math.pi) * 50
)
task.wait()
end
end
while true do
-- Stretch simply stretches the source image to fit
-- the UI element's space
imageLabel.ScaleType = Enum.ScaleType.Stretch
resizeInACircle()
-- Tile will render the source image multiple times
-- enough to fill the UI element's space
imageLabel.ScaleType = Enum.ScaleType.Tile
imageLabel.TileSize = UDim2.new(0, 64, 0, 64)
resizeInACircle()
-- Slice will turn the image into a nine-slice UI.
imageLabel.ScaleType = Enum.ScaleType.Slice
imageLabel.SliceCenter = Rect.new(30, 30, 34, 34)
resizeInACircle()
end