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 về khía cạnh hiển thị, với các hành vi bổ sung của một GuiButton .
Tóm Tắt
Thuộc Tính
Một ID kết cấu sẽ được sử dụng khi ImageButton đang được lướt.
Nội dung hình ảnh được hiển thị bởi thành phần ImageButton. Đọc và ghi vào ImageContent.
Xác định cách một hình ảnh được xử lý màu.
Nội dung hình ảnh được hiển thị bởi thành phần UI. Hỗ trợ các URIs tài sản và EditableImage đối tượng.
Offset trong pixel của khu vực thành phần của hình ảnh để hiển thị.
Xác định kích thước bằng pixel của khu vực phụ của hình ảnh để hiển thị.
Xác định độ trong suốt của hình ảnh được hiển thị.
Chỉ ra liệu hình ảnh đã hoàn thành tải từ trang web Roblox hay chưa.
Một ID kết cấu sẽ được sử dụng khi một ImageButton được nhấn.
Chọn chế độ phóng lại hình ảnh cho nút.
Xác định cách một hình ảnh sẽ phóng to nếu hiển thị trong một thành phần UI có kích thước khác với hình ảnh nguồn.
Đặt ranh giới cắt của hình ảnh 9 lát nhỏ.
Tăng các cạnh 9 lát theo tỷ lệ được định.
Đặt thước đo lát của Nút Hình ảnh.
Xác định xem liệu nút có thay đổi màu tự động khi chuột di chuyển qua hoặc nhấp vào nó hay không.
Một ví dụ HapticEffect sẽ chơi khi GuiButton đang được di chuột.
Nếu true trong khi thành phần GUI hiển thị, chuột sẽ không bị khóa trừ khi nút chuột phải đang ở dưới.
Một ví dụ HapticEffect sẽ chơi khi GuiButton được nhấn.
Một thuộc tính boolean cho thấy liệu đối tượng đã được chọn hay chưa.
Đặt phong cách của GuiButton dựa trên một danh sách các phong cách đã định trước.
Xác định xem yếu tố UI này có chìm nhập hay không.
Xác định điểm nguồn của một GuiObject , so với kích thước tuyệt đối của nó.
Xác định xem có thay đổi kích thước xảy ra dựa trên nội dung con không.
Xác định màu nền GuiObject .
Xác định độ trong suốt của nền và biên giới GuiObject .
Xác định màu của biên giới GuiObject .
Xác định theo cách nào biên giới GuiObject được xếp theo kích thước của nó.
Xác định chiều rộng pixel của biên giới GuiObject .
Xác định xem con cháu GuiObjects bên ngoài giới hạn của một yếu tố GUI cha có nên hiển thị hay không.
Xác định xem chuột của người chơi đang được nhấn chủ động trên GuiObject hay không.
Xác định liệu GuiButton có thể tương tác với nó hay không, hoặc nếu GuiState của GuiObject đang thay đổi hay không.
Kiểm soát thứ tự sắp xếp của GuiObject khi sử dụng với UIGridStyleLayout .
Bộ GuiObject được chọn khi công tắc gamepad được di chuyển xuống dưới.
Bộ GuiObject được chọn khi chọn gamepad bị di chuyển sang bên trái.
Bộ GuiObject được chọn khi chọn gamepad bị di chuyển sang bên phải.
Bộ GuiObject được chọn khi công tắc gamepad được di chuyển lên trên.
Xác định vị trí pixel và vectơ của GuiObject .
Xác định số độ mà GuiObject được xoay.
Xác định xem liệu GuiObject có thể được chọn bởi gamepad hay không.
Thay thế trang trí lựa chọn mặc định được sử dụng cho gamepad.
Thứ tự của GuiObjects được chọn bởi lựa chọn UI gamepad.
Xác định kích thước pixel và phương trình của GuiObject .
Đặt các trục Size mà GuiObject sẽ dựa trên, so với kích thước của cha của nó.
Một tính chất hỗn hợp của BackgroundTransparency và TextTransparency .
Xác định xem GuiObject và con cháu của nó sẽ được hiển thị hay không.
Xác định thứ tự mà một GuiObject render so với những người khác.
Mô tả vị trí màn hình thực của một thành phần GuiBase2d , trong điểm ảnh.
Mô tả sự xoay màn hình thực sự của một thành phần GuiBase2d , trong độ.
Mô tả kích thước màn hình thực của một thành phần GuiBase2d , bằng像素.
Khi được đặt thành true , bản địa hóa sẽ được áp dụng cho GuiBase2d và con cháu của nó.
Một tham chiếu đến một LocalizationTable để được sử dụng để áp dụng lok hóa tự động cho GuiBase2d và con cháu của nó.
Tùy chỉnh hành vi lựa chọn gamepad theo chiều xuống.
Tùy chỉnh hành vi lựa chọn gamepad theo hướng bên trái.
Tùy chỉnh hành vi lựa chọn gamepad theo hướng bên 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 lựa chọn 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 : boolean,callback : function):boolean
Di chuyển một GUI mượt mà sang một mới UDim2 .
- TweenSize(endSize : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : boolean,callback : function):boolean
- TweenSizeAndPosition(endSize : UDim2,endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : boolean,callback : function):boolean
Di chuyển một GUI mượt mà sang một kích 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.
Bắt lửa khi chuột của người dùng hoàn toàn nhấp vào GuiButton .
Bắt lửa khi người dùng nhấn nút chuột trái của họ xuống trên GuiButton .
Bắt lửa khi người dùng thả nút chuột trái của họ khỏi GuiButton .
Bắt lửa khi chuột của người dùng hoàn toàn nhấp chuột phải vào GuiButton .
Bắt lửa khi người dùng nhấn nút chuột phải của họ xuống trên GuiButton .
Bắt lửa khi người dùng thả nút chuột phải của họ khỏi GuiButton .
Bị sa thải khi người dùng bắt đầu tương tác thông qua thiết bị Giao diện Con người - Máy tính ( nút chuột xuống, chạm bắt đầu, nút bàn phím xuống, v.v.).
Bị sa thải khi người dùng thay đổi cách họ tương tác thông qua thiết bị Giao diện Con người - Máy tính ( nút chuột xuống, chạm bắt đầu, nút bàn phím xuống, v.v.).
Bị sa thả khi người dùng ngừng tương tác thông qua thiết bị Giao diện Con người - Máy tính ( nút chuột xuống, chạm bắt đầu, nút bàn phím xuống, v.v.).
Bắt lửa khi người dùng di chuyển con trỏ vào một thành phần GUI.
Bắt lửa khi người dùng di chuyển con trỏ ra khỏi một thành phần GUI.
Bắt lửa mỗi khi người dùng di chuyển con trỏ trong khi nó nằm bên trong thành phần GUI.
Bắt lửa khi người dùng cuộn bánh xe chuột trở lại khi chuột ở trên một thành phần GUI.
Bắt lửa khi một người dùng cuộn bánh xoay chuột của họ về phía trước khi chuột ở trên một thành phần GUI.
Bị sa thả khi GuiObject được tập trung vào với lựa chọn Gamepad.
Bị sa thả khi lựa chọn Gamepad ngừng tập trung vào GuiObject.
Bắt lửa khi người chơi bắt đầu, tiếp tục và dừng việc giữ lâu UI.
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
Bắt lửa khi người chơi di chuyển ngón tay 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 cử chỉ kéo hoặc kéo bằ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 lửa khi người chơi thực hiện cử chỉ xoay bằng hai ngón tay trên thành phần UI.
Bắt lửa khi người chơi thực hiện cử chỉ vuốt trên thành phần UI.
Bắt lửa khi người chơi thực hiện một cử chỉ vuốt trên thành phần UI.
- SelectionChanged(amISelected : boolean,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
Bắt lửa khi lựa chọn gamepad di chuyển đến, rời hoặc thay đổi trong khu vực kết nối GuiBase2d hoặc bất kỳ con trai nào GuiObjects .
Thuộc Tính
HoverImageContent
Image
Thuộc tính này là một thuộc tính loại nội dung mà nên giữ ID tài sản của một decal hoặc hình ảnh được tải lên Roblox.Nó hoạt động tương tự như Decal.Texture với việc tải hình ảnh từ Roblox.Hình ảnh được hiển thị sẽ được màu hóa bằng cách sử dụng ImageColor3 .
Lưu ý rằng có thể làm cho hình ảnh được hiển thị theo kiểu lát, thay đổi kích thước phù hợp hoặc 9-sliced bằng cách điều chỉnh thuộc tính ScaleType.
Mẫu mã
This code sample causes an ImageLabel/ImageButton to display a red padlock. When the mouse is hovered, it changes to a green unlocked padlock.
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
Tính chất này xác định cách một hình ảnh được màu hóa.Khi được đặt thành trắng, không có sự phân màu xảy ra.Tính chất này rất hữu ích để tái sử dụng tài sản hình ảnh: Nếu hình ảnh nguồn hoàn toàn trắng với độ trong suốt, bạn có thể đặt toàn bộ màu của hình ảnh một lần với tính chất này.
Mẫu mã
This code sample causes an ImageLabel/ImageButton to display a red padlock. When the mouse is hovered, it changes to a green unlocked padlock.
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()
ImageContent
Thuộc tính này nên giữ một URI tài sản hoặc một tham chiếu đến một đối tượng EditableImage.URI tài sản có thể tham chiếu đến một decal hoặc hình ảnh được tải lên Roblox.Nó hoạt động giống như Decal.Texture với việc tải hình ảnh.
Hình ảnh được render sẽ được màu hóa bằng cách sử dụng ImageColor3 .Bạn có thể làm cho hình ảnh được hiển thị theo cách lát, thay đổi kích thước phù hợp hoặc cắt thành 9 mảnh bằng cách điều chỉnh thuộc tính ScaleType.
ImageRectOffset
Thuộc tính này xác định độ trừ bớt pixel (từ bên trái trên cùng) của khu vực hình ảnh được hiển thị, cho phép hiển thị một phần hình ảnh cùng với ImageRectSize .
Mẫu mã
This code sample uses ImageRectOffset/ImageRectSize in order to play an animation of a man throwing a punch
-- 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
ImageRectSize
Thuộc tính này xác định kích thước pixel của khu vực hình ảnh được hiển thị, cho phép hiển thị một phần hình ảnh cùng với ImageRectOffset .Nếu cả hai chiều được đặt thành 0, toàn bộ hình ảnh sẽ được hiển thị thay thế.
Mẫu mã
This code sample uses ImageRectOffset/ImageRectSize in order to play an animation of a man throwing a punch
-- 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
ImageTransparency
Tính chất này xác định alpha của hình ảnh được hiển thị của thành phần.Một giá trị của 0 là hoàn toàn mờ nhạt và một giá trị của 1 là hoàn toàn minh bạch (vô hình).Tính chất này hành xử tương tự như GuiObject.BackgroundTransparency hoặc BasePart.Transparency .
Nếu bạn vô hiệu hóa xử lý hình ảnh bằng cách đặt ImageTransparency đến 1, nó sẽ dẫn đến một đường vuông đơn có thể được sử dụng làm nút.Tuy nhiên, có thể tốt hơn khi sử dụng một trống TextButton thay thế.
IsLoaded
Thuộc tính này cho thấy nếu thuộc tính Image đã hoàn thành tải từ Roblox. Hình ảnh bị từ chối bởi kiểm duyệt sẽ không bao giờ tải.
Mẫu mã
This code sample measures how long an ImageLabel or ImageButton takes to load an image. If the image was already loaded, this will be 0.
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 kết cấu có thể được đặt làm thuộc tính ImageButton. Khi nhấn nút, nó sẽ hiển thị hình ảnh này.
PressedImageContent
ResampleMode
Xác định cách hình ảnh trông khi nó bị thay đổi kích thước.Mặc định, hình ảnh làm mịn kết cấu khi hiển thị lớn hơn hoặc nhỏ hơn kích thước trong bộ nhớ kết cấu.Ngược lại, Enum.ResamplerMode.Pixelated giữ lại các cạnh sắc nét của像素 hình ảnh.
ScaleType
Tính chất này xác định theo cách mà thuộc tính Image được hiển thị khi kích thước tuyệt đối của thành phần UI khác với kích thước nguồn hình ảnh.
Mặc định, thuộc tính này là Enum.ScaleType.Stretch mà sẽ chỉ kéo căng/thu nhỏ kích thước hình ảnh để nó phù hợp với không gian của thành phần UI chính xác.Vì các điểm ảnh trong suốt được đặt thành màu đen khi tải lên Roblox, hình ảnh trong suốt nên áp dụng kết hợp alpha để tránh viền đen xung quanh các hình ảnh được phóng to.
Đối với Enum.ScaleType.Slice, khi tăng quy mô, các góc sẽ vẫn là kích thước hình ảnh nguồn.Các cạnh của hình ảnh sẽ căng ra chiều rộng/chiều cao của hình ảnh.Cuối cùng, trung tâm của hình ảnh sẽ căng ra để lấp đầy khu vực trung tâm của hình ảnh.Để tìm hiểu thêm về hình ảnh 9 lát, xem Thiết kế UI 9 lát .
Đối với Enum.ScaleType.Tile, kích thước của mỗi ô hình ảnh được xác định bởi thuộc tính TileSize.
SliceCenter
Thuộc tính này đặt ranh giới cắt của hình ảnh 9-cắt khi ScaleType được đặt thành Enum.ScaleType.Slice .
Để tìm hiểu thêm về hình ảnh 9‑sliced, hãy xem Thiết kế UI 9‑Slice .
SliceScale
Tăng các cạnh 9 lát theo tỷ lệ được định.Điều này có nghĩa là các cạnh xung quanh 9 lát sẽ phát triển như thể bạn đã tải lên một phiên bản mới của kết cấu được phóng to.Mặc định là 1.0 .
Là một nhân cho các biên giới của một 9- slice, nó hữu ích để tái sử dụng một hình ảnh góc tròn cho nhiều bán kính.
Xem thêm ScaleType định nghĩa cách một hình ảnh sẽ phóng to nếu hiển thị trong một thành phần UI có kích thước khác với hình ảnh nguồn.
TileSize
Đặt kích thước lát của ImageButton bắt đầu từ góc trên cùng bên trái của hình ảnh.Các giá trị mặc định của UDim2 là
Tính năng này chỉ hoạt động nếu thuộc tính ScaleType được đặt thành Enum.ScaleType.Tile.