Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Terrain

Hierarchy

Index

Constructors

constructor

Properties

Protected _blockInfos

_blockInfos: TerrainBlockInfo[] = []

Protected _blocks

_blocks: TerrainBlock[] = []

Private _enabled

_enabled: boolean = true
property

_enabled

type

{Boolean}

Protected _heights

_heights: number[] = []

_id

_id: string = idGenerator.getNewId()

For internal usage.

Protected _info

_info: TerrainInfo = new TerrainInfo()

Protected _layers

_layers: Array<TerrainLayer | null> = []

Protected _name

_name: string

Protected _normals

_normals: number[] = []

_objFlags

_objFlags: number

sceneGetter

sceneGetter: null | function = null

Protected _sharedIndexBuffer

_sharedIndexBuffer: GFXBuffer | null = null

Protected _weights

_weights: Uint8Array = new Uint8Array()

node

node: INode = NullNode

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

property

node

type

{Node}

example
cc.log(comp.node);

Static system

system: null = null

Accessors

scriptAsset

  • get scriptAsset(): null

isOnLoadCalled

  • get isOnLoadCalled(): number

enabled

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

enabledInHierarchy

  • get enabledInHierarchy(): boolean

info

isValid

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

    property

    {Boolean} isValid

    default

    true

    readonly
    example
    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

name

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

uuid

  • get uuid(): string

Methods

Optional Private preload

  • __preload(): void
  • __preload is called before every onLoad. It is used to initialize the builtin components internally, to avoid checking whether onLoad is called before every public method calls. This method should be removed if script priority is supported.

    Returns void

Private buildImp

  • _buildImp(): undefined | false | true

buildNormals

  • _buildNormals(): void

calcuNormal

  • calcuNormal(x: number, z: number): Vec3

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 Optional getLocalBounds

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

    Parameters

    • out_rect: Rect

      提供包围盒的 Rect

    Returns void

getRenderScene

  • _getRenderScene(): RenderScene

instantiate

  • instantiate(cloned: any): any

onPreDestroy

  • _onPreDestroy(): void

Private rebuildHeights

Private rebuildWeights

setNormal

  • setNormal(i: number, j: number, n: Vec3): void

addComponent

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

addLayer

build

destroy

  • destroy(): any

exportHeightField

  • exportHeightField(hf: HeightField, heightScale: number): void

getBlock

getBlockInfo

getBlocks

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

getHeight

  • getHeight(i: number, j: number): number

getHeightAt

  • getHeightAt(x: number, y: number): null | number

getHeightClamp

  • getHeightClamp(i: number, j: number): number

getLayer

getNormal

  • getNormal(i: number, j: number): Vec3

getNormalAt

  • getNormalAt(x: number, y: number): null | Vec3

getPosition

  • getPosition(i: number, j: number): Vec3

getSharedIndexBuffer

getWeight

  • getWeight(i: number, j: number): Vec4

getWeightAt

  • getWeightAt(x: number, y: number): null | Vec4

importHeightField

  • importHeightField(hf: HeightField, heightScale: number): 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

onDestroy

  • onDestroy(): void

onDisable

  • onDisable(): void

onEnable

  • onEnable(): void

Protected Optional onFocusInEditor

  • onFocusInEditor(): void

onLoad

  • onLoad(): void

Protected Optional onLostFocusInEditor

  • onLostFocusInEditor(): void

onRestore

  • onRestore(): void

rayCheck

  • rayCheck(start: Vec3, dir: Vec3, step: number): null | Vec3

rebuild

removeLayer

  • removeLayer(id: number): void

Protected Optional resetInEditor

  • resetInEditor(): 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

    [[cc.Node.schedule]]

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

    Parameters

    • callback: any

      回调函数。

    • Default value delay: number = 0

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

    Returns void

setHeight

  • setHeight(i: number, j: number, h: number): void

setLayer

setWeight

  • setWeight(i: number, j: number, w: Vec4): void

Protected Optional start

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

    Returns void

unschedule

  • unschedule(callback_fn: any): void

unscheduleAllCallbacks

  • unscheduleAllCallbacks(): void

update

  • update(dtime: number): void

Static deferredDestroy

  • _deferredDestroy(): void

Generated using TypeDoc