ImageLabel 會渲染一個長方形,像 Frame 一樣,但有圖像素材。顯示圖像可以通過 ImageColor3 和 1>Class.ImageLabel.ImageTransparency|
高級 ImageLabel 使用包括:
您可以使用將 ScaleType 設為 Enum.ScaleType.Tile ,然後將 TileSize 設為磚塊的尺寸來創建磚塊。
9 個片可以通過設置 ScaleType 設為 Enum.ScaleType.Slice ,然後 SliceCenter 到 9 個片圖像的中心區域。
可以通過使用 ImageRectOffset 和 ImageRectSize 來實現對噴射機的實現。將多個圖像包裝成一個並使用此屬性可以使你的體驗的圖像資產載入得更快,特別是如果你在 GUI 中使用了許多小型圖示。
概要
屬性
UI 元素顯示的圖像內容。閱取並寫入 ImageContent 。
決定如何為渲染圖像上色。
UI 元素顯示的圖像內容。支援 資產網址 和 EditableImage 對象。
顯示子區域的圖像所需的像素 Offset。
決定圖像子區域的大小。
決定渲染圖像的透明度。
指示圖像是否已從 Roblox 載入完畢。
選擇標籤的圖像重新處理模式。
決定圖像在源圖像和顯示的 UI 元素中尺寸是否會隨大小而變化。
設定 9 個切片圖像的片層界限。
以指定比例減少 9 個邊緣。
設定圖像標籤的尺寸。
決定這個輸入是否會沉沒在此 UI 元素。
對 GuiObject 的起始點,相對於其絕對大小。
決定是否會在基於兒童內容的重新縮放。
決定 GuiObject 背景顏色。
決定 GuiObject 背景和邊框的透明度。
決定 GuiObject 邊框的顏色。
決定GuiObject邊框的大小與邊框相對位置。
決定 GuiObject 邊框的像素寬度。
決定是否在超級父元素 GUI 元素外會成像子元素 GuiObjects。
決定玩家的滑鼠是否正在按在 GuiObject 上或不是。
決定 GuiButton 是否可以與或不與互動,或是否要檢查 GuiState 的 GuiObject 是否正在變更或不變更。
使用 GuiObject 時,控制 UIGridStyleLayout 的排序順序。
設定 GuiObject 將在遊戲控制器選擇器向下移動時選擇。
設定 GuiObject ,當遊戲控制器選擇器移動到左邊時會選擇。
設置 GuiObject 將在遊戲控制器選擇器移動到右邊時選擇。
設定 GuiObject 將在遊戲控制器選手柄上移動時選擇。
決定 GuiObject 的像素和矢量位置。
確定 GuiObject 旋轉的程度。
確認遊戲控制器可以選擇 GUI 嗎。
覆蓋遊戲手柄的預設裝飾。
遊戲控制器選擇 GuiObjects 的程序順序。
決定 GuiObject 的像素和浮點大小。
Class.GuiObject.BackgroundTransparency|BackgroundTransparency 和 TextTransparency 的混合屬性。
決定是否要渲染 GuiObject 和它的子孫。
決定 GuiObject 與其他人相對的排名。
描述介面元素的實際屏幕位置,以幣晃。
描述 UI 元素的實際螢幕旋轉度。
描述 UI 元素的實際屏幕尺寸,以幣晃。
設為真的時,本地化將適用於此 GuiBase2d 和它的後代。
一個引用 LocalizationTable 以應用自動本地化到這個 GuiBase2d 和它的後代。
在下向方向中自訂遊戲控制器選擇行為。
在左向方向中自訂遊戲控制器選擇行為。
自訂遊戲控制器選擇行為。
在上方向中自訂遊戲控制器選擇行為。
允許自訂遊戲控制器選擇動作。
方法
方法 繼承自 GuiObject- TweenPosition(endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
順滑地將一個 GUI 移至新的 UDim2 。
- TweenSize(endSize : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
順滑地將 GUI 重新調整為新的 UDim2。
- TweenSizeAndPosition(endSize : UDim2,endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
順滑地將一個 GUI 移動到新的尺寸和位置。
活動
活動 繼承自 GuiObject發生時間發生時,使用者開始使用人機交互裝置 (滑鼠按鈕, 觸摸開始, 鍵盤按鈕等等)。
使用者改變人機交互裝置 (滑鼠按鈕、觸摸開始、鍵盤按鈕等) 時發生時間。
發生時間當使用者停止使用人類電腦介面裝置 (滑鼠按鈕關閉, 觸摸開始, 鍵盤按鈕下等) 時。
使用者移動滑鼠到 GUI 元素時會發生火焰。
發射一個使用者從 GUI 元素移動滑鼠時。
在使用者移動鼠標時,發射 GUI 元素內的任何時間。
發射時,使用者將鼠標輪向返回,當滑鼠位於一個 GUI 元素上。
發射時,使用者將鼠標輪向前移動,當滑鼠位於 GUI 元素上。
發射時 GuiObject 與遊戲控制器選擇器專注。
發射時Gamepad選擇器停止專注在GUI對象上。
玩家開始時、繼續和停止按長按 UI 元素。
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
玩家移動指針時發射。
- TouchPinch(touchPositions : Array,scale : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
發射時玩家使用兩個手指在 UI 元素上執行點擊或拉動動作時。
- TouchRotate(touchPositions : Array,rotation : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
發生時玩家使用兩個手指在 UI 元素上執行旋轉動作時。
發射玩家在介面元素上執行擺動手勢時。
發射玩家在介面元素上執行點擊動作時。
- SelectionChanged(amISelected : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
發射在遊戲控制器選擇移動到,離開,或變更連接的 GuiBase2d 或任何子選項 GuiObjects。
屬性
Image
此屬性是內容類型屬性,該屬性應該包含 Roblox 上傳的裝飾或圖像的資產 ID。它與 Decal.Texture 有關於從 Roblox 載入圖像的方式。 渲染圖像可以使用 ImageColor3 和 Class.ImageLabel.ImageTrans
ImageColor3
ImageColor3 屬性決定圖像的顏色化方式。當設為白色時,沒有顏色化發生。此屬性對於重用圖像資產非常有用;如果源圖像為完全白色並且具有透明度,您可以使用此屬性來設置整個圖像的顏色。
ImageContent
此屬性應該包含一個 資產網址 或一個引用 EditableImage 對物件。
資產網址可以參照 Roblox 上傳的裝飾或圖像。它與 Decal.Texture 有關於載入圖像的方式。
渲染圖像將使用 ImageButton.ImageColor3 來上色。 您可以使用調整 ImageButton.ScaleType 屬性來調整圖像的大小、縮放和平移,以及 9 個點。
ImageTransparency
ImageTransparency 決定 UI 元素的渲染圖像的 alpha 值。一個值的 0 是完全不透明的,而一個值的 1 是完全透明的 (隱藏).
範例程式碼
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
IsLoaded 屬性表示 ImageLabel.Image 屬性是否已從 Roblox 載入完畢。 圖像由Moderation拒絕的圖像將永遠載入不完。
範例程式碼
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))
ResampleMode
決定圖像擴大時圖像的外觀。 預設值為 Enum.ResamplerMode.Pixelated 時,圖像會平滑畫面上大小超過其尺寸的文字。當設為 枚勒編輯器模式.Pixelized|枚勒編輯器模式.Pixelized 時,圖像會保留像素邊緣的鋒利邊緣。
ScaleType
ScaleType 屬性決定在 UI 元素的相對尺寸與來源圖像的尺寸不同的情況下 ImageLabel.Image 的渲染方式。
預設值為 Enum.ScaleType.Stretch ,這會簡單伸展圖像尺寸,以正確滿足 UI 元素的空間。雖然透明像素在上傳到 Roblox 時設為黑色,因此透明圖像應該在縮放圖像時適用 alpha 漸層以避免產生黑色邊緣。
對於 Enum.ScaleType.Slice, SliceCenter 屬性會在 屬性 視窗中顯示。這是九個層次 UI 的縮略:當縮放時,角落會保留原始圖像尺寸。圖像的邊緣會擴大到圖像的寬度/高度
最後,對於 Enum.ScaleType.Tile, TileSize 屬性會在 屬性窗口 中顯示。這是對於由磚塊圖形表示的圖像,其大小由 1> Class.ImageLabel.TileSize|TileSize1> 屬性決定。
SliceCenter
SliceCenter 屬性設定 9 個切片圖像的切片界限,當 ScaleType 設為 Enum.ScaleType.Slice 時。 請注意,此屬性僅在此條件下的 1>屬性1> 窗口中顯示。
要了解更多關於 9 片圖像的內容,請參閱 UI 9 Slice Design。
SliceScale
將 9 個切割邊緣的大小由指定比例減去。這意味著在 9 個切割邊緣上的邊緣會增長,就像你上傳了新版本的材質一樣。預設值為 1.0。
也參見 ScaleType , SliceCenter 和 SliceScale 。
TileSize
TileSize 設定圖像標籤的尺寸,以 ImageLabel 為預設值。這個屬性只有在 Class.ImageLabel.ScaleType|
範例程式碼
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