Skip to content
DrawCanvas

界面 / DrawCanvas

DrawCanvas Class

UI 画布

Hierarchy

Table of contents

Properties

click

Properties

onCustomPropertyChange: Readonly<MulticastDelegate<(path: string, value: unknown, oldValue: unknown) => void>> client
监听自定义属性同步事件

Accessors

click

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

clearDraws(): void client
清除全部绘制
drawCubicBezierSpline(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, lineData?: DrawDataBase): number client
绘制三阶贝塞尔曲线
drawCustom(vertex: UIDrawCustomVertex[], index: number[], assetId?: string, drawLayerId?: number): number client
自定义绘制图元
drawLines(points: Vector2[], lineData?: DrawDataBase): number client
画多段线
drawSpline(startPoint: Vector2, startDirection: Vector2, endPoint: Vector2, endDirection: Vector2, lineData?: DrawDataBase): number client
画埃尔米特曲线
drawText(text: string, position: Vector2, fontSize: number, fontColor: any, drawLayerId?: number): number client
画文字
removeDrawById(Id: number): void client
移除指定的绘制图元
newObject(parent?: Canvas, inName?: string): DrawCanvas client
创建绘画控件
click

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

Accessors

Methods


clearDraws

clearDraws(): void client

清除全部绘制


drawCubicBezierSpline

drawCubicBezierSpline(p1, p2, p3, p4, lineData?): number client

绘制三阶贝塞尔曲线

Parameters

p1 Vector2第一个点
p2 Vector2第二个点
p3 Vector2第三个点
p4 Vector2第四个点
lineData? DrawDataBase绘制图元信息

Returns

number返回drawId

drawCustom

drawCustom(vertex, index, assetId?, drawLayerId?): number client

自定义绘制图元

Parameters

vertex UIDrawCustomVertex[]顶点图元数据信息
index number[]顶点图元索引信息
assetId? string-
drawLayerId? number-

Returns

number

drawLines

drawLines(points, lineData?): number client

画多段线

Parameters

points Vector2[]线的各个点坐标
lineData? DrawDataBase绘制图元信息

Returns

number返回drawId

drawSpline

drawSpline(startPoint, startDirection, endPoint, endDirection, lineData?): number client

画埃尔米特曲线

Parameters

startPoint Vector2开始线位置
startDirection Vector2开始切线方向
endPoint Vector2结束点位置
endDirection Vector2结束点切线方向
lineData? DrawDataBase绘制图元信息

Returns

number返回drawId

drawText

drawText(text, position, fontSize, fontColor, drawLayerId?): number client

画文字

Parameters

text string-
position Vector2位置
fontSize number字体大小
fontColor any颜色
drawLayerId? number绘制层级

Returns

number

removeDrawById

removeDrawById(Id): void client

移除指定的绘制图元

Parameters

Id number指定的绘制图元Id

newObject

Static newObject(parent?, inName?): DrawCanvas client

创建绘画控件

Parameters

parent? Canvas创建控件的外parent对象 default: null
inName? string创建控件的名称 default:null range:设置合理的名称即可

Returns

DrawCanvas返回创建的对象

当parent和inName与已有的对象相同时,旧的对象会被销毁