界面 / Widget
Widget Class
控件的基类
可挂载叶子节点的根节点,以及提供各种自动布局功能。
放置控件需要的通用属性与方法。
Hierarchy
Widget
↳
Button
↳
Canvas
↳
Checkbox
↳
Dropdown
↳
FlipBook
↳
Image
↳
InputBox
↳
ListView
↳
Mask
↳
TouchPad
↳
TreeView
Table of contents
Properties
onCustomPropertyChange: Readonly <MulticastDelegate <(path : string , value : unknown , oldValue : unknown ) => void >> client |
---|
监听自定义属性同步事件 |
Accessors
alignPosition(): Readonly <Vector2 > client |
---|
获取控件的对齐位置,在对齐方式为靠右对齐、靠下对齐、中心对齐时,alignPosition的值与positon不同; |
autoSizeHorizontalEnable(): boolean client |
获取是否自动水平设置大小 |
autoSizeVerticalEnable(): boolean client |
获取是否自动垂直设置大小 |
cachedGeometry(): Geometry client |
获取上一次的GetTickSpaceGeometry |
constraints(): Readonly <UIConstraintAnchors > client |
获取控件的布局 |
desiredSize(): Vector2 client |
获取期望大小 |
enable(): boolean client |
是否可用 |
guid(): string client |
获取控件GUID |
isHovered(): boolean client |
是否是hovered |
mouseCursor(): MouseCursor client |
获取控件上光标类型 |
name(): string client |
获取名字 |
paintSpaceGeometry(): Geometry client |
获取最后一次用于渲染Widget的几何信息 |
parent(): Widget client |
获取父节点 |
pivot(): Vector2 client |
获取控件锚点位置,这个属性决定了控件图形与锚点的相对位置;(0,0)时,锚点位于控件左上角;(0.5,0.5)时,锚点位于控件正中心 |
position(): Readonly <Vector2 > client |
获取控件的位置 |
renderOpacity(): number client |
获取渲染透明度 |
renderScale(): Vector2 client |
获取渲染缩放 |
renderShear(): Vector2 client |
获取渲染错切形变 |
renderTransformAngle(): number client |
获取渲染的角度 |
renderTransformPivot(): Vector2 client |
获取渲染锚点 |
size(): Vector2 client |
获取大小 |
tickSpaceGeometry(): Geometry client |
获取最后一次用于驱动Widget Tick的几何信息 |
transform(): Readonly <UITransform > client |
得到控件的大小和位置 |
visibility(): SlateVisibility client |
获取可见性 |
visible(): boolean client |
是否可见 |
zOrder(): number client |
获取zorder |
Methods
addChild(child : Widget ): void client |
---|
添加子节点 |
clone(position : Vector2 , Parent? : Widget ): Widget client |
克隆UI控件及其子节点到指定父控件位置(默认到其父节点) |
destroyObject(): void client |
立刻移除并销毁 不可以在使用 |
equal(that : Widget ): boolean client |
判断是不是同一个对象 |
findChildByPath(inPath : string ): Widget client |
通过相对路径查找节点 |
getChildAt(index : number ): Widget client |
获取第几位子节点 |
getChildByName<T : extends Widget <T >>(name : string ): T : extends Widget <T > client |
通过名字查找节点 |
getChildrenCount(): number client |
获取子节点数量 |
getCustomProperties(): string [] client |
获取所有自定义属性 |
getCustomProperty<T : extends CustomPropertyType >(propertyName : string ): T : extends CustomPropertyType client |
获取自定义属性 |
getCustomPropertyChangeDelegate(property ): Readonly <MulticastDelegate <(path : string , value : unknown , oldValue : unknown ) => void >> client |
给定对象属性修改时触发的事件代理 |
invalidateLayoutAndVolatility(): void client |
立刻触发重新渲染的和排布计算 |
removeAllChildren(): void client |
清除所有子节点,会销毁UI无法再使用 |
removeChild(child : Widget ): void client |
移除节点,会销毁UI无法在使用 |
removeChildAt(index : number ): void client |
移除第几个节点,会销毁UI无法再使用 |
removeObject(): void client |
立刻移除并添加到根节点 可以再使用 |
serialize(): string client |
序列化UI控件 |
setCustomProperty(propertyName : string , value : undefined CustomPropertyType ): void client |
设置自定义属性 |
deserialize(Data : string , Parent? : Widget ): Widget client |
反序列化UI |
Properties
onCustomPropertyChange
• onCustomPropertyChange: Readonly
<MulticastDelegate
<(path
: string
, value
: unknown
, oldValue
: unknown
) => void
>> client
监听自定义属性同步事件
ts
this.onCustomPropertyChange.add((path, value, oldValue) => {
console.log(`属性 ${path} 改变了,新值为 ${value},旧值为 ${oldValue}`);
});
this.onCustomPropertyChange.add((path, value, oldValue) => {
console.log(`属性 ${path} 改变了,新值为 ${value},旧值为 ${oldValue}`);
});
Accessors
alignPosition
• | • | ||||
---|---|---|---|---|---|
获取控件的对齐位置,在对齐方式为靠右对齐、靠下对齐、中心对齐时,alignPosition的值与positon不同; 此时,两套位置计算的坐标系不同,例如设置为右下对齐时,该控件的alignPosition以父级右下角为原点来计算 Returns
| 设置控件的对齐位置,在对齐方式为靠右对齐、靠下对齐、中心对齐时,alignPosition的值与positon不同; 此时,两套位置计算的坐标系不同,例如设置为右下对齐时,该控件的alignPosition以父级右下角为原点来计算 Parameters
|
autoSizeHorizontalEnable
• | • | ||||
---|---|---|---|---|---|
获取是否自动水平设置大小 Returns
| 获取是否自动水平设置大小 Parameters
是否自动水平设置大小 |
autoSizeVerticalEnable
• | • | ||||
---|---|---|---|---|---|
获取是否自动垂直设置大小 Returns
| 获取是否自动垂直设置大小 Parameters
是否自动垂直设置大小 |
cachedGeometry
• | ||
---|---|---|
获取上一次的GetTickSpaceGeometry Returns
|
constraints
• | • | ||||
---|---|---|---|---|---|
获取控件的布局 Returns
| 设置控件的布局 Parameters
|
desiredSize
• | ||
---|---|---|
获取期望大小 Returns
|
enable
• | • | ||||
---|---|---|---|---|---|
是否可用 Returns
| 设置可用性 Parameters
返回设置结果 |
guid
• | ||
---|---|---|
获取控件GUID Returns
|
isHovered
• | ||
---|---|---|
是否是hovered Returns
|
mouseCursor
• | • | ||||
---|---|---|---|---|---|
获取控件上光标类型 Returns
| 将光标类型设置到控件上 Parameters
|
name
• | • | ||||
---|---|---|---|---|---|
获取名字 Returns
| 设定名字 Parameters
|
paintSpaceGeometry
• | ||
---|---|---|
获取最后一次用于渲染Widget的几何信息 Returns
|
parent
• | ||
---|---|---|
获取父节点 Returns
|
pivot
• | • | ||||
---|---|---|---|---|---|
获取控件锚点位置,这个属性决定了控件图形与锚点的相对位置;(0,0)时,锚点位于控件左上角;(0.5,0.5)时,锚点位于控件正中心 锚点本身的位置由positon或alignPosition决定 Returns
| 设置控件锚点位置,这个属性决定了控件图形与锚点的相对位置;(0,0)时,锚点位于控件左上角;(0.5,0.5)时,锚点位于控件正中心; 锚点本身的位置由positon或alignPosition决定 Parameters
|
position
• | • | ||||
---|---|---|---|---|---|
获取控件的位置 Returns
| 设置控件的位置 Parameters
|
renderOpacity
• | • | ||||
---|---|---|---|---|---|
获取渲染透明度 Returns
| 设置渲染透明度 0 ~ 1 Parameters
|
renderScale
• | • | ||||
---|---|---|---|---|---|
获取渲染缩放 Returns
| 设置渲染缩放 Parameters
|
renderShear
• | • | ||||
---|---|---|---|---|---|
获取渲染错切形变 Returns
| 设置渲染错切形变 Parameters
|
renderTransformAngle
• | • | ||||
---|---|---|---|---|---|
获取渲染的角度 Returns
| 设置渲染的角度 Parameters
|
renderTransformPivot
• | • | ||||
---|---|---|---|---|---|
获取渲染锚点 Returns
| 设置渲染锚点 Parameters
|
size
• | • | ||||
---|---|---|---|---|---|
获取大小 Returns
| 设置控件的大小 Parameters
|
tickSpaceGeometry
• | ||
---|---|---|
获取最后一次用于驱动Widget Tick的几何信息 Returns
|
transform
• | • | ||||
---|---|---|---|---|---|
得到控件的大小和位置 Returns
| 设置控件的大小和位置 Parameters
|
visibility
• | • | ||||
---|---|---|---|---|---|
获取可见性 Returns
| 设置可见性 Parameters
|
visible
• | ||
---|---|---|
是否可见 Returns
|
zOrder
• | • | ||||
---|---|---|---|---|---|
获取zorder Returns
| 设置zoder Parameters
|
Methods
addChild
• addChild(child
): void
client
添加子节点
Parameters
child Widget | 子控件 |
---|
clone
• clone(position
, Parent?
): Widget
client
克隆UI控件及其子节点到指定父控件位置(默认到其父节点)
Parameters
position Vector2 | 克隆后控件生成的位置 |
---|---|
Parent? Widget | 克隆后的控件需要在该控件下生成 |
Returns
Widget | 克隆生成的UI控件 |
---|
destroyObject
• destroyObject(): void
client
立刻移除并销毁 不可以在使用
equal
• equal(that
): boolean
client
判断是不是同一个对象
Parameters
that Widget | 需要比较的另外一个对象 |
---|
Returns
boolean | boolean |
---|
findChildByPath
• findChildByPath(inPath
): Widget
client
通过相对路径查找节点
Parameters
inPath string | 路径 range: 不限制 |
---|
Returns
Widget | 返回查找节点结果 |
---|
getChildAt
• getChildAt(index
): Widget
client
获取第几位子节点
Parameters
index number | 下标 range: 大于 0 type: 整数 |
---|
Returns
Widget | 找到的控件 |
---|
getChildByName
• getChildByName<T
>(name
): T
client
通过名字查找节点
Parameters
name string | 名字 range: 不限制 |
---|
Returns
T | 找到的控件 |
---|
Type parameters
T | extends Widget <T > |
---|
getChildrenCount
• getChildrenCount(): number
client
获取子节点数量
Returns
number | 子节点数量 |
---|
getCustomProperties
• getCustomProperties(): string
[] client
获取所有自定义属性
Returns
string [] | 属性名列表 |
---|
ts
const attributes = this.getAttributes();
console.log(attributes);
// ["name", "age"]
const attributes = this.getAttributes();
console.log(attributes);
// ["name", "age"]
getCustomProperty
• getCustomProperty<T
>(propertyName
): T
client
获取自定义属性
Parameters
propertyName string | 属性名 |
---|
Returns
T | 属性值 |
---|
Type parameters
T | extends CustomPropertyType |
---|
getCustomPropertyChangeDelegate
• getCustomPropertyChangeDelegate(property
): Readonly
<MulticastDelegate
<(path
: string
, value
: unknown
, oldValue
: unknown
) => void
>> client
给定对象属性修改时触发的事件代理
Parameters
property string | 对象属性名字 |
---|
Returns
Readonly <MulticastDelegate <(path : string , value : unknown , oldValue : unknown ) => void >> | 代理对象 |
---|
invalidateLayoutAndVolatility
• invalidateLayoutAndVolatility(): void
client
立刻触发重新渲染的和排布计算
removeAllChildren
• removeAllChildren(): void
client
清除所有子节点,会销毁UI无法再使用
removeChild
• removeChild(child
): void
client
移除节点,会销毁UI无法在使用
Parameters
child Widget | 需要移除的子控件 |
---|
removeChildAt
• removeChildAt(index
): void
client
移除第几个节点,会销毁UI无法再使用
Parameters
index number | 下标 range: 大于 0 type: 整数 |
---|
removeObject
• removeObject(): void
client
立刻移除并添加到根节点 可以再使用
serialize
• serialize(): string
client
序列化UI控件
Returns
string | 返回传入控件序列化后的JSON字符串 |
---|
setCustomProperty
• setCustomProperty(propertyName
, value
): void
client
设置自定义属性
Parameters
propertyName string | 属性名 |
---|---|
value undefined CustomPropertyType | 属性值 |
deserialize
• Static
deserialize(Data
, Parent?
): Widget
client
反序列化UI
Parameters
Data string | usage:需要反序列化的JSON字符串 |
---|---|
Parent? Widget | usage:生成的UI控件的父节点 |
Returns
Widget | 返回传入JSON字符串反序列化后得到的UI |
---|