Options
All
  • Public
  • Public/Protected
  • All
Menu

Class GraphicsComponent

自定义图形类

Hierarchy

Index

Constructors

constructor

Properties

Protected _assembler

_assembler: IAssembler | null = null

Protected _color

_color: Color = Color.WHITE.clone()

Protected _delegateSrc

_delegateSrc: Node | null = null

Protected _dstBlendFactor

_dstBlendFactor: GFXBlendFactor = GFXBlendFactor.ONE_MINUS_SRC_ALPHA

Private _enabled

_enabled: boolean = true
property

_enabled

type

{Boolean}

Protected _fillColor

_fillColor: Color = Color.WHITE.clone()

_id

_id: string = idGenerator.getNewId()

For internal usage.

Protected _instanceMaterialType

_instanceMaterialType: InstanceMaterialType = InstanceMaterialType.ADDCOLORANDTEXTURE

Protected _lastParent

_lastParent: Node | null = null

Protected _lineCap

_lineCap: LineCap = LineCap.BUTT

Protected _lineJoin

_lineJoin: LineJoin = LineJoin.MITER

Protected _lineWidth

_lineWidth: number = 1

Protected _material

_material: Material | null = null

Protected _miterLimit

_miterLimit: number = 10

Protected _name

_name: string

_objFlags

_objFlags: number

Protected _postAssembler

_postAssembler: IAssembler | null = null

Protected _renderData

_renderData: RenderData | null = null

Protected _renderDataFlag

_renderDataFlag: boolean = true

Protected _renderFlag

_renderFlag: boolean = true

sceneGetter

sceneGetter: null | function = null

Protected _sharedMaterial

_sharedMaterial: Material | null = null

Protected _srcBlendFactor

_srcBlendFactor: GFXBlendFactor = GFXBlendFactor.SRC_ALPHA

Protected _strokeColor

_strokeColor: Color = Color.BLACK.clone()

impl

impl: Impl | null = null

model

model: Model | null = null

node

node: Node = NullNode

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

property

node

type

{Node}

example
cc.log(comp.node);

Static Assembler

Assembler: IAssemblerManager | null = null

Static BlendState

BlendState: GFXBlendFactor = GFXBlendFactor

Static LineCap

LineCap: LineCap = LineCap

Static LineJoin

LineJoin: LineJoin = LineJoin

Static PostAssembler

PostAssembler: IAssemblerManager | null = null

Static system

system: null = null

Accessors

scriptAsset

  • get scriptAsset(): null

isOnLoadCalled

  • get isOnLoadCalled(): number

color

  • get color(): Color
  • set color(value: Color): void

delegateSrc

  • set delegateSrc(value: Node): void

dstBlendFactor

enabled

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

enabledInHierarchy

  • get enabledInHierarchy(): boolean

fillColor

  • get fillColor(): Readonly<Color>
  • set fillColor(value: object): void

isValid

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

    property

    {Boolean} isValid

    default

    true

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

    Returns boolean

lineCap

  • get lineCap(): LineCap
  • set lineCap(value: LineCap): void

lineJoin

  • get lineJoin(): LineJoin
  • set lineJoin(value: LineJoin): void

lineWidth

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

material

miterLimit

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

name

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

renderData

  • get renderData(): null | RenderData

sharedMaterial

  • get sharedMaterial(): null | Material
  • set sharedMaterial(value: null | Material): void

srcBlendFactor

strokeColor

  • get strokeColor(): Readonly<Color>
  • set strokeColor(value: object): void

uuid

  • get uuid(): string

Methods

preload

  • __preload(): void

activateMaterial

  • _activateMaterial(): void

Protected attachToScene

  • _attachToScene(): void

Protected canRender

  • _canRender(): boolean

Protected checkAndUpdateRenderData

  • _checkAndUpdateRenderData(): void

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 detachFromScene

  • _detachFromScene(): void

Protected flushAssembler

  • _flushAssembler(): void

Protected Optional getLocalBounds

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

    Parameters

    • out_rect: Rect

      提供包围盒的 Rect

    Returns void

getRenderScene

  • _getRenderScene(): RenderScene

Protected instanceMaterial

  • _instanceMaterial(): void

instantiate

  • instantiate(cloned: any): any

Protected nodeStateChange

onPreDestroy

  • _onPreDestroy(): void

Protected postCanRender

  • _postCanRender(): void

Protected postRender

  • postRender(render: UI): void

Protected render

  • render(render: UI): void

Protected updateBlendFunc

  • _updateBlendFunc(): void

Protected updateColor

  • _updateColor(): void

Protected updateMaterial

  • updateMaterial(material: Material | null): void

addComponent

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

arc

  • arc(cx: number, cy: number, r: number, startAngle: number, endAngle: number, counterclockwise: boolean): void
  • 绘制圆弧路径。圆弧路径的圆心在 (cx, cy) 位置,半径为 r ,根据 counterclockwise (默认为false)指定的方向从 startAngle 开始绘制,到 endAngle 结束。

    Parameters

    • cx: number

      中心控制点的坐标 x 轴。

    • cy: number

      中心控制点的坐标 y 轴。

    • r: number

      圆弧弧度。

    • startAngle: number

      开始弧度,从正 x 轴顺时针方向测量。

    • endAngle: number

      结束弧度,从正 x 轴顺时针方向测量。

    • counterclockwise: boolean

      如果为真,在两个角度之间逆时针绘制。默认顺时针。

    Returns void

bezierCurveTo

  • bezierCurveTo(c1x: number, c1y: number, c2x: number, c2y: number, x: number, y: number): void
  • 绘制三次贝赛尔曲线路径。

    Parameters

    • c1x: number

      第一个控制点的坐标 x 轴。

    • c1y: number

      第一个控制点的坐标 y 轴。

    • c2x: number

      第二个控制点的坐标 x 轴。

    • c2y: number

      第二个控制点的坐标 y 轴。

    • x: number

      最后一个控制点的坐标 x 轴。

    • y: number

      最后一个控制点的坐标 y 轴。

    Returns void

circle

  • circle(cx: number, cy: number, r: number): void

clear

  • clear(clean?: boolean): void

close

  • close(): void

destroy

  • destroy(): any

destroyRenderData

  • destroyRenderData(): void

ellipse

  • ellipse(cx: number, cy: number, rx: number, ry: number): void
  • 绘制椭圆路径。

    Parameters

    • cx: number

      中心点的坐标 x 轴。

    • cy: number

      中心点的坐标 y 轴。

    • rx: number

      椭圆 x 轴半径。

    • ry: number

      椭圆 y 轴半径。

    Returns void

fill

  • fill(): void

fillRect

  • fillRect(x: any, y: any, w: any, h: any): void

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

    Returns T | null

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

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

    Parameters

    • className: string

    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[]

helpInstanceMaterial

  • helpInstanceMaterial(): void

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

lineTo

  • lineTo(x: number, y: number): void

markForUpdateRenderData

  • markForUpdateRenderData(enable?: boolean): void

moveTo

  • moveTo(x: number, y: number): 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: UI): void

quadraticCurveTo

  • quadraticCurveTo(cx: number, cy: number, x: number, y: number): void
  • 绘制二次贝赛尔曲线路径。

    Parameters

    • cx: number

      起始控制点的坐标 x 轴。

    • cy: number

      起始控制点的坐标 y 轴。

    • x: number

      终点控制点的坐标 x 轴。

    • y: number

      终点控制点的坐标 x 轴。

    Returns void

rect

  • rect(x: number, y: number, w: number, h: number): void
  • 绘制矩形路径。

    Parameters

    • x: number

      矩形起始坐标 x 轴。

    • y: number

      矩形起始坐标 y 轴。

    • w: number

      矩形宽度。

    • h: number

      矩形高度。

    Returns void

requestRenderData

  • requestRenderData(): RenderData

Optional resetInEditor

  • resetInEditor(): void

roundRect

  • roundRect(x: number, y: number, w: number, h: number, r: number): void
  • 绘制圆角矩形路径。

    Parameters

    • x: number

      矩形起始坐标 x 轴。

    • y: number

      矩形起始坐标 y 轴。

    • w: number

      矩形宽度。

    • h: number

      矩形高度。

    • r: number

      矩形圆角半径。

    Returns void

schedule

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

    method

    schedule

    example
    var timeCallback = function (dt) {
      cc.log("time: " + dt);
    }
    this.schedule(timeCallback, 1);

    Parameters

    • callback: any

      回调函数。

    • Default value interval: number = 0

      时间间隔,0 表示每帧都重复。

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

      将被重复执行(repeat+ 1)次,您可以使用 cc.macro.REPEAT_FOREVER 进行无限次循环。

    • Default value delay: number = 0

      第一次执行前等待的时间(延时执行)。

    Returns void

scheduleOnce

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

    method

    scheduleOnce

    see

    schedule

    example
    var timeCallback = function (dt) {
      cc.log("time: " + dt);
    }
    this.scheduleOnce(timeCallback, 2);

    Parameters

    • callback: any

      回调函数。

    • Default value delay: number = 0

      第一次执行前等待的时间(延时执行)。

    Returns void

Protected Optional start

  • start(): void
  • 如果该组件第一次启用,则在所有组件的 update 之前调用。通常用于需要在所有组件的 onLoad 初始化完毕后执行的逻辑。
    该方法为生命周期方法,父类未必会有实现。并且你只能在该方法内部调用父类的实现,不可在其它地方直接调用该方法。

    Returns void

stroke

  • stroke(): 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: UI): void

Static deferredDestroy

  • _deferredDestroy(): void

Object literals

Protected blendTemplate

blendTemplate: object

depthStencilState

depthStencilState: object

Type declaration

rasterizerState

rasterizerState: object

Type declaration

blendState

blendState: object

targets

targets: object[] = [{blendSrc: GFXBlendFactor.SRC_ALPHA,blendDst: GFXBlendFactor.ONE_MINUS_SRC_ALPHA,},]

Generated using TypeDoc