一个 ImageLabel 会渲染一个长方形,像 Frame 一样,通过图像素材。显示图像可以通过 ImageColor3 和 1> Class.ImageLabel.ImageTransparency
高级ImageLabel 使用包括:
地砖图像可以通过将 ScaleType 设置为 Enum.ScaleType.Tile ,然后将 TileSize 设置为绘制的地砖大小。
9-Slice 图像可通过将 ScaleType 设置为 Enum.ScaleType.Slice ,然后将 SliceCenter 设置为 9 式图像的中心区域来创建。
通过使用 ImageRectOffset 和 ImageRectSize 来实现灵兽书页。将多个图像包装为一个并使用此属性可以使你的体验图像资产的加载速度大幅加快,尤其是如果你在 GUI 中使用了许多小型图标。
概要
属性
显示 UI 元素的图像内容。
确定图像的颜色化方式。
显示子区域的像素 Offset。
确定显示子区域的图像的像素大小。
确定渲染图像的透明度。
指示图像是否已从 Roblox 完成加载。
选择图像重置模式为标签。
决定图像在源图像和用户界面元素中显示时的尺寸。
设置 9 个切割的图像的边界。
按指定比例缩放 9 个边。
设置图像标签的大小。
确定是否同时输入。
对 GuiObject 的起始位置,相对于其绝对大小。
决定是否按照子内容进行调整。
确定 GuiObject 背景颜色。
确定 GuiObject 背景和边框的透明度。
确定 GuiObject 边框的颜色。
确定GuiObject边界的方式是与其尺寸相对于其他方式。
确定 GuiObject 边框的像素宽度。
决定是否在父 GUI 元素外的子元素 GuiObjects 会渲染。
确定玩家是否在 GuiObject 上主动按着。
确定 GuiButton 是否可以与或不可以与之交互,或 GuiState 的 GuiObject 是否正在变更或不变更。
控制使用 GuiObject 与 UIGridStyleLayout 时的排序顺序。
设置 GuiObject 将在游戏手柄选择器向下移动时选择。
设置 GuiObject 将在游戏手柄选择器移动到左侧时选择。
设置 GuiObject ,该选项卡将在游戏手柄选择器移动到右侧时被选中。
设置 GuiObject ,该选项卡将在游戏手柄选择器上移动时选择。
确定 GuiObject 的像素和向量位置。
确定GuiObject的旋转角度。
确定游戏手柄是否可以选择GUI。
覆盖游戏手柄的默认装饰。
游戏手柄选择 GuiObjects 的顺序。
确定 GuiObject 的像素和浮点大小。
设置 Size 轴,其父元素对象的大小将对应于其大小。
Class.GuiObject.BackgroundTransparency|BackgroundTransparency 和 TextTransparency 的混合属性。
确定 GuiObject 和它的子代是否会被渲染。
确定GuiObject 在其他人的相对位置上渲染的顺序。
描述 UI 元素的实际屏幕位置,以像素计。
描述 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 元素上时,用户会滚动鼠标轮。
当 Gamepad 选择器对 GuiObject 时,发生了焦点错误。
当游戏手柄选择器停止对 GuiObject 的焦点时发生。
在玩家开始时,持续并停止长按 UI 元素。
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
当玩家移动其手指时,触发 UI 元素。
- TouchPinch(touchPositions : Array,scale : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
在玩家使用两个手指在 UI 元素上执行叠捏或拉动动作时触发。
- TouchRotate(touchPositions : Array,rotation : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
在玩家使用两个手指在 UI 元素上执行旋转动作时触发。
在玩家在 UI 元素上执行滑动手势时触发。
当玩家在 UI 元素上执行点击手势时触发。
- SelectionChanged(amISelected : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
在游戏手柄选择移动到,离开或更改连接的 GuiBase2d 或任何子对象。
属性
Image
Image 属性是一个内容类型属性,该内容 ID 是由 Roblox 上传的图像或贴纸的资产。它与 Decal.Texture 有关于从 Roblox 加载图像的方面。 渲染图像可以使用 ImageColor3 和
ImageColor3
ImageColor3 属性确定图像的颜色化方式。设置为“白色”,就不会进行颜色化。此属性对于重用图像资产非常有用;如果源图像是完全白色且透明,你可以使用此属性来设置整个图像的颜色。
ImageContent
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 时,图像保留像素边缘的锋利边缘。
ScaleType
ScaleType 属性决定ImageLabel.Image 的尺寸在 UI 元素的绝对尺寸与源图像的尺寸之间的显示方式。
默认情况下,此属性是 Enum.ScaleType.Stretch ,它将简单地伸展图像尺寸以确保它与 Roblox 元素的空间完全匹配。随着透明像素在上传到 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。
TileSize
TileSize 设置了 ImageLabel 的地砖大小,为默认值
代码示例
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