主题
EUIClippingNode
概览
| 字段 | 值 |
|---|---|
| Kind | Unit · 单位 Unit |
| Realm | common |
继承关系
- Unit(4 属性 / 25 函数 / 6 事件)
- EUINodeBase(35 属性 / 12 函数 / 4 事件)
- [EUIClippingNode](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
- 属性:
EUIClippingNode 是按蒙版形状裁剪子界面内容的 UI 节点。通过 ClippingImage 指定蒙版资源,AlphaThreshold 设定透明度阈值,Inverted 反转裁剪区域,ClippingEnabled 控制是否启用裁剪。
适用场景
常见于需要把图片、图标或列表内容限制在圆形、异形等非矩形轮廓内的界面表现,例如给头像或装饰图叠加蒙版;通常先取得 EUIManager 的根节点,再把裁切节点创建并挂载到该根节点之下。
使用要点
先从 game:GetService("Players").LocalPlayer.PlayerGui.EuiManager:GetRootNode() 取得父节点,再调用 game:GetService("World"):CreateUnit("EUIClippingNode", { Parent = parent, Position = Vector2.New(0, 0), Size = Vector2.New(100, 40) }) 创建实例。实例就绪后直接写入 ClippingImage 指定蒙版图片、用 AlphaThreshold 调整阈值、用 Inverted 切换是否反转裁切,最后通过 ClippingEnabled 决定裁切是否生效。
注意事项
EUIClippingNode 的 ClippingImage 使用调用方提供的有效 String 资源 URI,AlphaThreshold 通常取 0~1;这些属性可在 CreateUnit config 中初始化或通过属性赋值更新。
代码示例
创建裁切节点并设置蒙版
lua
-- @runtime client
local function createClippingNode(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("EUIClippingNode", {
Parent = rootNode,
Position = Vector2.New(0, 0),
Size = Vector2.New(100, 40),
ClippingImage = imageUri,
AlphaThreshold = 0.05,
Inverted = false,
ClippingEnabled = true,
})
end属性 (4)
| Name | 类型 | 默认值 | 说明 |
|---|---|---|---|
Inverted | Bool | false | EUIClippingNode 的反转裁切属性,类型为 Bool(布尔值),用于标识裁切区域是否按相反方向处理。 |
AlphaThreshold | Float | 0.05 | EUIClippingNode 的 alpha 阈值属性,类型为 Float(浮点数)。它用于设置节点进行裁切判定时所采用的透明度阈值,配合蒙版图片一起决定裁切边界。 |
ClippingImage | String | official://image/10000 | EUIClippingNode 的蒙版图片属性,类型为 String(字符串),用于指定该节点裁切时所依据的图片资源标识。 |
ClippingEnabled | Bool | true | EUIClippingNode 的开关属性,类型为 Bool(布尔值),用于标识该节点是否启用裁切功能。 |
