主题
EUIProgressTimer
概览
| 字段 | 值 |
|---|---|
| Kind | Unit · 单位 Unit |
| Realm | common |
继承关系
- Unit(4 属性 / 25 函数 / 6 事件)
- EUINodeBase(35 属性 / 12 函数 / 4 事件)
- [EUIProgressTimer](4 属性)
- EUINodeBase(35 属性 / 12 函数 / 4 事件)
继承成员
2 个来源 / 39 属性 / 36 函数 / 10 事件
- 来自 EUINodeBase(35 属性 / 12 函数 / 4 事件)
- 属性:
Visible、Position、Anchor、FlippedX、FlippedY、Size、Rotation、Opacity、TouchBeginAudio、TouchEndAudio、TouchClickAudio、TouchbeginEvent、ClickEvent、TouchendEvent、LongtouchEvent、ShowEvent、HideEvent、TouchEnabled、TouchDragEnabled、SwallowTouchEnabled、TopAdaptMode、TopAdaption、BottomAdaptMode、BottomAdaption、LeftAdaptMode、LeftAdaption、RightAdaptMode、RightAdaption、AnchorXAdaptMode、AnchorXAdaption、AnchorYAdaptMode、AnchorYAdaption、LocalZOrder、LayoutOrder、Scale - 函数:
RemoveFromParent、GetFullPath、TweenPosition、TweenSize、TweenSizeAndPosition、TweenOpacity、Retain、Release、GetWorldPosition、ConvertToWorldPosition、ConvertToLocalPosition、HitTest - 事件:
OnTouchBegan、OnTouchMoved、OnTouchEnded、OnClicked
- 属性:
- 来自 Unit(4 属性 / 25 函数 / 6 事件)
- 属性:
AssetId、Name、Desc、Parent - 函数:
ClearAllChildren、GetChildren、GetDescendants、IsAncestorOf、IsDescendantOf、FindFirstAncestor、FindFirstAncestorWhichIsA、FindFirstAncestorOfClass、FindFirstChild、FindFirstChildWhichIsA、FindFirstChildOfClass、HasChildren、GetChildCount、GetChildAtIndex、SetAttribute、GetAttribute、GetAllProps、Clone、IsA、Destroy、GetPropertyChangedSignal、GetAttributeChangedSignal、FindFromPath、GetDebugId - 事件:
ChildAdded、ChildRemoved、DescendantAdded、DescendantRemoving、AncestryChanged、Destroying
- 属性:
环形进度条界面节点,用于在界面上以图片填充的方式展示进度比例。它通过 Percent 控制进度量、Image 指定进度图片、Direction 决定填充方向、Color 调整整体配色,适合表达技能冷却、任务进度或加载进度这类需要可视化比例的信息。
适用场景
需要在界面上持续反馈某项实时进度时使用,例如把节点挂到当前玩家的界面根节点下,随着业务侧保存的进度数值反复更新 Percent 来刷新显示。
使用要点
先通过 Players 服务取得 LocalPlayer,再由其 PlayerGui.EuiManager:GetRootNode() 拿到界面根节点,然后调用 World:CreateUnit("EUIProgressTimer", { Parent = rootNode }) 创建并挂载实例。实例就绪后设置 Percent、Image 和 Color 等属性驱动外观,Color 可用 Color.New(...) 构造;Direction 需赋值为 Enums.EUIProgressDirection.Normal 或 Enums.EUIProgressDirection.Reverse 来切换填充方向。
注意事项
EUIProgressTimer 通过 World:CreateUnit 创建,并把 Parent 设置为当前玩家 PlayerGui.EuiManager:GetRootNode()。Percent 的 Meta 类型是 Float、默认值为 0.5,Meta 未声明取值区间;示例数值仅展示赋值方式。当前运行包有 GetPercent() 返回字符串、SetPercent(50) 后仍读到 100.0 的反馈,修复前不要把回读值作为业务状态真值,应在脚本中单独保存数值并只把 Percent 赋值用于显示。Direction 使用 Enums.EUIProgressDirection.Normal/Reverse;Image 的公开类型是 String。
代码示例
创建进度计时器并设置进度
lua
-- @runtime client
local function createProgressTimer(imageUri)
local Players = game:GetService("Players")
local World = game:GetService("World")
local localPlayer = Players.LocalPlayer
if localPlayer == nil then return end
local rootNode = localPlayer.PlayerGui.EuiManager:GetRootNode()
return World:CreateUnit("EUIProgressTimer", {
Parent = rootNode,
Position = Vector2.New(0, 0),
Size = Vector2.New(100, 40),
Image = imageUri,
Percent = 60.0,
Color = Color.New(255, 180, 40, 255),
Direction = Enums.EUIProgressDirection.Reverse,
})
end
local timer = createProgressTimer('official://image/30011')
if timer == nil then return end
print('环形进度控件已创建:', timer.Name)属性 (4)
| Name | 类型 | 默认值 | 说明 |
|---|---|---|---|
Percent | Float | 0.5 | EUIProgressTimer 的进度百分比属性,类型为浮点数,用于表示进度条当前的进度数值。 |
Image | String | official://image/30011 | EUIProgressTimer 的进度图片属性,类型为字符串,用于指定该进度计时器控件所使用的进度图片资源。 |
Direction | EUIProgressDirection | Enums.EUIProgressDirection.Normal | Direction 是 EUIProgressTimer 的方向属性,类型为 EUIProgressDirection 枚举,用于指定该进度条进度的推进方向。 |
Color | Color | [255, 255, 255, 255] | Color 是 EUIProgressTimer 的颜色属性,类型为 Color,用于表示该进度条所使用的颜色值;Color 类型本身可同时承载颜色与透明度信息。 |
