Options
All
  • Public
  • Public/Protected
  • All
Menu

Class RichText

富文本组件。

Hierarchy

Index

Constructors

constructor

Properties

Private __prefab

__prefab: CompPrefabInfo | null = null

Protected _cacheMode

_cacheMode: CacheMode = CacheMode.NONE

Private _enabled

_enabled: boolean = true

Protected _font

_font: TTFFont | null = null

Protected _fontFamily

_fontFamily: string = "Arial"

Protected _fontSize

_fontSize: number = 40

Protected _handleTouchEvent

_handleTouchEvent: boolean = true

Protected _horizontalAlign

_horizontalAlign: HorizontalTextAlignment = HorizontalTextAlignment.LEFT

Private _id

_id: string = idGenerator.getNewId()

For internal usage.

Protected _imageAtlas

_imageAtlas: SpriteAtlas | null = null

Protected _isSystemFontUsed

_isSystemFontUsed: boolean = true

Protected _labelHeight

_labelHeight: number = 0

Protected _labelSegmentsCache

_labelSegmentsCache: ISegment[] = []

Protected _labelWidth

_labelWidth: number = 0

Protected _lastParent

_lastParent: Node | null = null

Protected _layoutDirty

_layoutDirty: boolean = true

Protected _lineCount

_lineCount: number = 1

Protected _lineHeight

_lineHeight: number = 40

Protected _lineOffsetX

_lineOffsetX: number = 0

Protected _linesWidth

_linesWidth: number[] = []

Protected _maxWidth

_maxWidth: number = 0

Protected _name

_name: string

_objFlags

_objFlags: number

Private sceneGetter

sceneGetter: null | (() => RenderScene) = null

Protected _segments

_segments: ISegment[] = []

Protected _string

_string: string = "<color=#00ff00>Rich</color><color=#0fffff>Text</color>"

Protected _textArray

_textArray: IHtmlTextParserResultObj[] = []

Protected updateRichTextStatus

updateRichTextStatus: () => void

Type declaration

    • (): void
    • Returns void

Protected _userDefinedFont

_userDefinedFont: TTFFont | null = null

node

node: Node = NullNode

该组件被附加到的节点。组件总会附加到一个节点。

example
import { log } from 'cc';
log(comp.node);

stencilStage

stencilStage: Stage = Stage.DISABLED

Static HorizontalAlign

HorizontalAlign: HorizontalTextAlignment = HorizontalTextAlignment

Static VerticalAlign

VerticalAlign: VerticalTextAlignment = VerticalTextAlignment

Static system

system: null = null

Accessors

scriptAsset

  • get scriptAsset(): null

isOnLoadCalled

  • get isOnLoadCalled(): number

cacheMode

enabled

  • get enabled(): boolean
  • set enabled(value: boolean): void

enabledInHierarchy

  • get enabledInHierarchy(): boolean

font

fontFamily

  • get fontFamily(): string
  • set fontFamily(value: string): void

fontSize

  • get fontSize(): number
  • set fontSize(value: number): void

handleTouchEvent

  • get handleTouchEvent(): boolean
  • set handleTouchEvent(value: boolean): void
  • 选中此选项后,RichText 将阻止节点边界框中的所有输入事件(鼠标和触摸),从而防止输入事件穿透到底层节点。

    Returns boolean

  • 选中此选项后,RichText 将阻止节点边界框中的所有输入事件(鼠标和触摸),从而防止输入事件穿透到底层节点。

    Parameters

    • value: boolean

    Returns void

horizontalAlign

imageAtlas

  • 对于 img 标签里面的 src 属性名称,都需要在 imageAtlas 里面找到一个有效的 spriteFrame,否则 img tag 会判定为无效。

    Returns null | SpriteAtlas

  • 对于 img 标签里面的 src 属性名称,都需要在 imageAtlas 里面找到一个有效的 spriteFrame,否则 img tag 会判定为无效。

    Parameters

    Returns void

isValid

  • get isValid(): boolean
  • 表示该对象是否可用(被 destroy 后将不可用)。
    当一个对象的 destroy 调用以后,会在这一帧结束后才真正销毁。
    因此从下一帧开始 isValid 就会返回 false,而当前帧内 isValid 仍然会是 true。
    如果希望判断当前帧是否调用过 destroy,请使用 isValid(obj, true),不过这往往是特殊的业务需求引起的,通常情况下不需要这样。

    default

    true

    readonly
    example
    import { Node, log } from 'cc';
    const node = new Node();
    log(node.isValid);    // true
    node.destroy();
    log(node.isValid);    // true, still valid in this frame
    // after a frame...
    log(node.isValid);    // false, destroyed in the end of last frame

    Returns boolean

lineHeight

  • get lineHeight(): number
  • set lineHeight(value: number): void

maxWidth

  • get maxWidth(): number
  • set maxWidth(value: number): void

name

  • get name(): string
  • set name(value: string): void

string

  • get string(): string
  • set string(value: string): void

useSystemFont

  • get useSystemFont(): boolean
  • set useSystemFont(value: boolean): void

uuid

  • get uuid(): string

Methods

preload

  • __preload(): void

Protected activateChildren

  • activateChildren(active: any): void

Protected addEventListeners

  • _addEventListeners(): void

Protected addLabelSegment

  • addLabelSegment(stringToken: string, styleIndex: number): ISegment

Protected addRichTextImageElement

  • addRichTextImageElement(richTextElement: IHtmlTextParserResultObj): void

Protected applyLayer

  • _applyLayer(): void

Protected applyTextAttribute

  • applyTextAttribute(labelSeg: ISegment): void

Protected containsTouchLocation

  • containsTouchLocation(label: ISegment, point: Vec2): boolean

Protected convertLiteralColorValue

  • convertLiteralColorValue(color: string): Color

Protected createFontLabel

  • createFontLabel(str: string): ISegment

Protected createImage

destroyImmediate

  • _destroyImmediate(): void

destruct

  • _destruct(): void
  • Clear all references in the instance.

    NOTE: this method will not clear the getter or setter functions which defined in the instance of CCObject. You can override the _destruct method if you need, for example: _destruct: function () { for (var key in this) { if (this.hasOwnProperty(key)) { switch (typeof this[key]) { case 'string': this[key] = ''; break; case 'object': case 'function': this[key] = null; break; } } }

    Returns void

Protected getFirstWordLen

  • getFirstWordLen(text: string, startIndex: number, textLen: number): number

Optional Private getLocalBounds

  • getLocalBounds(out_rect: Rect): void
  • 如果组件的包围盒与节点不同,您可以实现该方法以提供自定义的轴向对齐的包围盒(AABB), 以便编辑器的场景视图可以正确地执行点选测试。

    Parameters

    • out_rect: Rect

      The rect to store the result bounding rect

    Returns void

Private getRenderScene

  • _getRenderScene(): RenderScene

instantiate

  • instantiate(cloned: any): any

Protected isLastComponentCR

  • isLastComponentCR(stringToken: any): boolean

Protected measureText

  • measureText(styleIndex: number, string?: undefined | string): number | func

Protected needsUpdateTextLayout

  • needsUpdateTextLayout(newTextArray: IHtmlTextParserResultObj[]): boolean

onPreDestroy

  • _onPreDestroy(): void

Protected onTTFLoaded

  • _onTTFLoaded(): void

Protected onTouchEnded

Protected removeEventListeners

  • _removeEventListeners(): void

Protected resetState

  • _resetState(): void

Protected updateLabelSegmentTextAttributes

  • _updateLabelSegmentTextAttributes(): void

Protected updateLineInfo

  • _updateLineInfo(): void

Protected updateRichText

  • _updateRichText(): void

Protected updateRichTextPosition

  • _updateRichTextPosition(): void

Protected updateRichTextWithMaxWidth

  • updateRichTextWithMaxWidth(labelString: string, labelWidth: number, styleIndex: number): void

addComponent

  • addComponent<T>(classConstructor: Constructor<T>): T | null
  • addComponent(className: string): Component | null

destroy

  • destroy(): boolean

getComponent

  • getComponent<T>(classConstructor: Constructor<T>): T | null
  • getComponent(className: string): Component | null
  • 获取节点上指定类型的组件,如果节点有附加指定类型的组件,则返回,如果没有则为空。
    传入参数也可以是脚本的名称。

    example
    // get custom test calss.
    var test = node.getComponent("Test");

    Type parameters

    Parameters

    • classConstructor: Constructor<T>

      The class of component to be retrieved or to be created

    Returns T | null

  • 获取节点上指定类型的组件,如果节点有附加指定类型的组件,则返回,如果没有则为空。
    传入参数也可以是脚本的名称。

    example
    // get custom test calss.
    var test = node.getComponent("Test");

    Parameters

    • className: string

      A string for the class name of the component

    Returns Component | null

getComponentInChildren

  • getComponentInChildren<T>(classConstructor: Constructor<T>): T | null
  • getComponentInChildren(className: string): Component | null

getComponents

  • getComponents<T>(classConstructor: Constructor<T>): T[]
  • getComponents(className: string): Component[]

getComponentsInChildren

  • getComponentsInChildren<T>(classConstructor: Constructor<T>): T[]
  • getComponentsInChildren(className: string): Component[]

Protected Optional lateUpdate

  • lateUpdate(dt: number): void
  • 如果该组件启用,则每帧调用 LateUpdate。
    该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。

    Parameters

    • dt: number

      the delta time in seconds it took to complete the last frame

    Returns void

onDestroy

  • onDestroy(): void

onDisable

  • onDisable(): void

onEnable

  • onEnable(): void

Optional onFocusInEditor

  • onFocusInEditor(): void

onLoad

  • onLoad(): void

Optional onLostFocusInEditor

  • onLostFocusInEditor(): void

onRestore

  • onRestore(): void

postUpdateAssembler

  • postUpdateAssembler(render: Batcher2D): void
  • 后置渲染数据组装程序,它会在所有子节点的渲染数据组装完成后被调用。 它可能会组装额外的渲染数据到顶点数据缓冲区,也可能只是重置一些渲染状态。 注意:不要手动调用该函数,除非你理解整个流程。

    Parameters

    • render: Batcher2D

    Returns void

Optional resetInEditor

  • resetInEditor(): void

schedule

  • schedule(callback: any, interval?: number, repeat?: number, delay?: number): void
  • 调度一个自定义的回调任务。
    如果回调任务已调度,那么将不会重复调度它,只会更新时间间隔参数。

    example
    import { log } from 'cc';
    this.schedule((dt) => void log(`time: ${dt}`), 1);

    Parameters

    • callback: any

      The callback function of the task

    • Default value interval: number = 0

      The time interval between each invocation

    • Default value repeat: number = legacyCC.macro.REPEAT_FOREVER

      The repeat count of this task, the task will be invoked (repeat + 1) times, use macro.REPEAT_FOREVER to repeat a task forever

    • Default value delay: number = 0

      The delay time for the first invocation, Unit: s

    Returns void

scheduleOnce

  • scheduleOnce(callback: any, delay?: number): void
  • 调度一个只运行一次的回调任务,可以指定 0 让回调函数在下一帧立即执行或者在一定的延时之后执行。

    method

    scheduleOnce

    see

    schedule

    example
    import { log } from 'cc';
    this.scheduleOnce((dt) => void log(`time: ${dt}`), 2);

    Parameters

    • callback: any

      The callback function of the task

    • Default value delay: number = 0

      The delay time for the first invocation, Unit: s

    Returns void

start

  • start(): void

unschedule

  • unschedule(callback_fn: any): void

unscheduleAllCallbacks

  • unscheduleAllCallbacks(): void

Protected Optional update

  • update(dt: number): void
  • 如果该组件启用,则每帧调用 update。
    该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。

    Parameters

    • dt: number

      the delta time in seconds it took to complete the last frame

    Returns void

updateAssembler

  • updateAssembler(render: Batcher2D): void
  • 渲染数据组装程序,这个方法会在所有子节点数据组装之前更新并组装当前组件的渲染数据到 UI 的顶点数据缓冲区中。 一般在 UI 渲染流程中调用,用于组装所有的渲染数据到顶点数据缓冲区。 注意:不要手动调用该函数,除非你理解整个流程。

    Parameters

    • render: Batcher2D

    Returns void

Static deferredDestroy

  • _deferredDestroy(): void

Generated using TypeDoc