Options
All
  • Public
  • Public/Protected
  • All
Menu

Class SpriteFrame

精灵帧资源。 一个 SpriteFrame 包含:

  • 纹理:会被渲染组件使用的 Texture2D 对象。
  • 矩形:在纹理中的矩形区域。 可通过 cc.SpriteFrame 获取该组件。
example
// First way to use a SpriteFrame
const url = "assets/PurpleMonster/icon/spriteFrame";
cc.loader.loadRes(url, (err, spriteFrame) => {
  const node = new Node("New Sprite");
  const sprite = node.addComponent(SpriteComponent);
  sprite.spriteFrame = spriteFrame;
  node.parent = self.node;
});
// Second way to use a SpriteFrame
const self = this;
const url = "test_assets/PurpleMonster";
cc.loader.loadRes(url, (err, imageAsset) => {
 if(err){
   return;
 }
 const node = new Node("New Sprite");
 const sprite = node.addComponent(SpriteComponent);
 const spriteFrame = new SpriteFrame();
 const tex = imageAsset._texture;
 spriteFrame.texture = tex;
 sprite.spriteFrame = spriteFrame;
 node.parent = self.node;
});
// Third way to use a SpriteFrame
const self = this;
const cameraComp = this.getComponent(CameraComponent);
const renderTexture = new RenderTexture();
rendetTex.reset({
  width: 512,
  height: 512,
  depthStencilFormat: RenderTexture.DepthStencilFormat.DEPTH_24_STENCIL_8
});
cameraComp.targetTexture = renderTexture;
const spriteFrame = new SpriteFrame();
spriteFrame.texture = renderTexture;

Hierarchy

Implements

Index

Constructors

constructor

Properties

Protected _atlasUuid

_atlasUuid: string = ""

_callbackTable

_callbackTable: any = createMap(true)

IEventTarget 实现,它们将被 applyMixins 在 EventTarget 中用相同的实现覆盖

Protected _capInsets

_capInsets: number[] = [0, 0, 0, 0]

Protected _flipUv

_flipUv: boolean = false

_image

_image: ImageAsset | null = null

Protected _name

_name: string

_native

_native: string = ""

用于本机资产的可序列化URL。供内部使用。

default

""

_objFlags

_objFlags: number

Protected _offset

_offset: Vec2 = new Vec2()

Protected _originalSize

_originalSize: Size = new Size()

Protected _rect

_rect: Rect = new Rect()

Protected _rotated

_rotated: boolean = false

Protected _texture

_texture: TextureBase

_uuid

_uuid: string

内部使用。

loaded

loaded: boolean = true

该资源是否已经成功加载。

uv

uv: number[] = []

不带裁切的 UV。

uvHash

uvHash: number = 0

uvSliced

uvSliced: IUV[] = []

带有裁切的 UV。

vertices

vertices: IVertices | null = null

Static preventDeferredLoadDependents

preventDeferredLoadDependents: boolean = false

当场景或 Prefab 被标记为 asyncLoadAssets,禁止延迟加载该资源所依赖的其它 RawAsset。

property

{Boolean} preventDeferredLoadDependents

default

false

static

Static preventPreloadNativeObject

preventPreloadNativeObject: boolean = false

禁止预加载原生对象。

property

{Boolean} preventPreloadNativeObject

default

false

static

Accessors

imageSource

  • Parameters

    Returns void

Private nativeAsset

  • get nativeAsset(): any
  • set nativeAsset(obj: any): void
  • 此资源的基础资源(如果有)。 此属性可用于访问与资源相关的其他详细信息或功能。
    如果_native可用,则此属性将由加载器初始化。

    property

    {Object} _nativeAsset

    default

    null

    type

    {any}

    Returns any

  • Parameters

    • obj: any

    Returns void

atlasUuid

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

  • Parameters

    • value: string

    Returns void

height

  • get height(): number
  • Returns number

insetBottom

  • get insetBottom(): number
  • set insetBottom(value: number): void
  • sprite 的底部边框。

    Returns number

  • Parameters

    • value: number

    Returns void

insetLeft

  • get insetLeft(): number
  • set insetLeft(value: number): void
  • sprite 的左边边框。

    Returns number

  • Parameters

    • value: number

    Returns void

insetRight

  • get insetRight(): number
  • set insetRight(value: number): void
  • sprite 的右边边框。

    Returns number

  • Parameters

    • value: number

    Returns void

insetTop

  • get insetTop(): number
  • set insetTop(value: number): void
  • sprite 的顶部边框。

    Returns number

  • Parameters

    • value: number

    Returns 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

name

  • get name(): string
  • set name(value: string): void
  • 该对象的名称。

    property

    {String} name

    default

    ""

    example
    obj.name = "New Obj";

    Returns string

  • Parameters

    • value: string

    Returns void

nativeUrl

  • get nativeUrl(): string
  • 返回该资源对应的目标平台资源的 URL,如果没有将返回一个空字符串。

    property

    nativeUrl

    type

    {String}

    readonly

    Returns string

offset

  • get offset(): Vec2
  • set offset(value: Vec2): void
  • 获取偏移量。

    Returns Vec2

  • Parameters

    Returns void

originalSize

  • get originalSize(): Size
  • set originalSize(value: Size): void
  • 获取修剪前的原始大小。

    Returns Size

  • Parameters

    Returns void

rect

  • get rect(): Rect
  • set rect(value: Rect): void
  • 获取 SpriteFrame 的纹理矩形区域。 如果是一个 atlas 的贴图,则为当前贴图的实际剔除透明像素区域。

    Returns Rect

  • Parameters

    Returns void

rotated

  • get rotated(): boolean
  • set rotated(rotated: boolean): void
  • 获取 SpriteFrame 是否旋转。

    Returns boolean

  • Parameters

    • rotated: boolean

    Returns void

texture

  • Returns TextureBase

  • Parameters

    Returns void

width

  • get width(): number
  • Returns number

Methods

calculateSlicedUV

  • _calculateSlicedUV(): void
  • Returns void

calculateUV

  • _calculateUV(): void
  • 计算 UV。

    Returns void

deserialize

  • deserialize(serializeData: any, handle: any): void
  • Parameters

    • serializeData: any
    • handle: any

    Returns 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

serialize

  • serialize(exporting?: any): any
  • Parameters

    • Optional exporting: any

    Returns any

Private setRawAsset

  • setRawAsset(filename: string, inLibrary?: boolean): void
  • 为此资源设置原始文件名。

    seealso

    nativeUrl

    Parameters

    • filename: string
    • Default value inLibrary: boolean = true

    Returns void

Protected textureLoaded

  • _textureLoaded(): void
  • Returns void

checkRect

  • 判断精灵计算的矩形区域是否越界。

    Parameters

    Returns boolean

Optional createNode

  • 使用该资源在场景中创建一个新节点。
    如果这类资源没有相应的节点类型,该方法应该是空的。

    Parameters

    Returns void

destroy

  • destroy(): boolean
  • Returns boolean

dispatchEvent

  • dispatchEvent(event: Event): void
  • Parameters

    Returns void

emit

  • emit(key: string, ...args: any[]): void
  • Parameters

    • key: string
    • Rest ...args: any[]

    Returns void

getGFXTextureView

  • Returns null | GFXTextureView

getOffset

  • 获取偏移量。

    deprecated

    即将在 1.2 废除,请使用 offset.set(spritFrame.offset)

    Parameters

    • Optional out: Vec2

      可复用的偏移量。

    Returns Vec2

getOriginalSize

  • 获取修剪前的原始大小。

    deprecated

    即将在 1.2 废除,请使用 size.set(spritFrame.originalSize)

    Parameters

    • Optional out: Size

    Returns Size

getRect

  • 获取 SpriteFrame 的纹理矩形区域。 如果是一个 atlas 的贴图,则为当前贴图的实际剔除透明像素区域。

    deprecated

    即将在 1.2 废除,请使用 rect.set(spritFrame.rect)

    Parameters

    • Optional out: Rect

    Returns Rect

hasEventListener

  • hasEventListener(key: string, callback?: Function | undefined, target?: Object | undefined): boolean
  • Parameters

    • key: string
    • Optional callback: Function | undefined
    • Optional target: Object | undefined

    Returns boolean

isRotated

  • isRotated(): boolean
  • 获取 SpriteFrame 是否旋转。

    deprecated

    即将在 1.2 废除,请使用 isRotated = rect.rotated

    Returns boolean

off

  • off(type: string, callback?: Function | undefined, target?: Object | undefined): void
  • Parameters

    • type: string
    • Optional callback: Function | undefined
    • Optional target: Object | undefined

    Returns void

on

  • on(type: string, callback: Function, target?: Object | undefined): Function | undefined
  • Parameters

    • type: string
    • callback: Function
    • Optional target: Object | undefined

    Returns Function | undefined

onLoaded

  • onLoaded(): void
  • Returns void

once

  • once(type: string, callback: Function, target?: Object | undefined): Function | undefined
  • Parameters

    • type: string
    • callback: Function
    • Optional target: Object | undefined

    Returns Function | undefined

removeAll

  • removeAll(keyOrTarget?: string | Object | undefined): void
  • Parameters

    • Optional keyOrTarget: string | Object | undefined

    Returns void

reset

  • 重置 SpriteFrame 数据。

    Parameters

    • Optional info: ISpriteFrameInitInfo

      SpriteFrame 初始化数据。

    • Default value clearData: boolean = false

    Returns void

setOffset

  • setOffset(offset: Vec2): void
  • 设置偏移量。

    deprecated

    即将在 1.2 废除,请使用 spritFrame.offset = offset

    Parameters

    Returns void

setOriginalSize

  • setOriginalSize(size: Size): void
  • 设置修剪前的原始大小。

    deprecated

    即将在 1.2 废除,请使用 spritFrame.originalSize = size

    Parameters

    • size: Size

      设置精灵原始大小。

    Returns void

setRect

  • setRect(rect: Rect): void
  • 设置 SpriteFrame 的纹理矩形区域。

    deprecated

    即将在 1.2 废除,请使用 spritFrame.rect = rect

    Parameters

    Returns void

setRotated

  • setRotated(rotated: boolean): void
  • 设置 SpriteFrame 是否旋转。

    deprecated

    即将在 1.2 废除,请使用 rect.rotated = true

    Parameters

    • rotated: boolean

    Returns void

targetOff

  • targetOff(keyOrTarget?: string | Object | undefined): void
  • Parameters

    • Optional keyOrTarget: string | Object | undefined

    Returns void

textureLoaded

  • textureLoaded(): boolean
  • 返回是否已加载精灵帧。

    Returns boolean

toString

  • toString(): string
  • 返回对象的字符串表示形式。
    Asset 对象将会重写 Object 对象的 toString() 方法。
    当资源要表示为文本值时或在字符串连接时引用时,
    JavaScript 会自动调用 toString() 方法。

    对于原始类型的资源,它将返回this.nativeUrl
    否则,返回空字符串。
    子类可能会覆盖此方法。

    method

    toString

    Returns string

Static deferredDestroy

  • _deferredDestroy(): void

Static deserialize

  • deserialize(data: any): any
  • 应 AssetDB 要求提供这个方法。

    method

    deserialize

    Parameters

    • data: any

    Returns any

Static isRawAssetType

  • isRawAssetType(ctor: Function): boolean
  • 内部使用。

    Parameters

    • ctor: Function

    Returns boolean

Generated using TypeDoc