Options
All
  • Public
  • Public/Protected
  • All
Menu

Class SpriteFrame

精灵帧资源。 一个 SpriteFrame 支持多种类型

  1. 矩形精灵帧
  2. 九宫格精灵帧
  3. 网格精灵帧 它主要包含下列数据:
  • 纹理:会被渲染流程使用的 TextureBase or RenderTexture 资源。
  • 矩形:在纹理中的矩形区域。
  • 九宫格信息:九宫格的内部矩形四个边距离 SpriteFrame 外部矩形的距离
  • 网格信息:网格类型精灵帧的所有顶点列表
  • uv: 四边形 UV
  • uvSliced: 九宫格 UV 可通过 SpriteFrame 获取该组件。
example
import { loader } from 'cc';
// First way to use a SpriteFrame
const url = "assets/PurpleMonster/icon/spriteFrame";
loader.loadRes(url, (err, spriteFrame) => {
  const node = new Node("New Sprite");
  const sprite = node.addComponent(Sprite);
  sprite.spriteFrame = spriteFrame;
  node.parent = self.node;
});
// Second way to use a SpriteFrame
const self = this;
const url = "test_assets/PurpleMonster";
loader.loadRes(url, (err, imageAsset) => {
 if(err){
   return;
 }
 const node = new Node("New Sprite");
 const sprite = node.addComponent(Sprite);
 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(Camera);
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

Index

Constructors

constructor

Properties

Protected _atlasUuid

_atlasUuid: string = ""

Protected _capInsets

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

Protected _flipUv

_flipUv: boolean = false

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

_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。

default

false

Static preventPreloadNativeObject

preventPreloadNativeObject: boolean = false

禁止预加载原生对象。

default

false

Accessors

Private nativeAsset

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

    default

    null

    Returns any

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

    default

    null

    Parameters

    • obj: any

    Returns void

textureSource

atlasUuid

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

height

  • get height(): number

insetBottom

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

insetLeft

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

insetRight

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

insetTop

  • get insetTop(): number
  • set insetTop(value: number): 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

name

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

nativeUrl

  • get nativeUrl(): string

offset

  • get offset(): Vec2
  • set offset(value: Vec2): void
  • 精灵帧偏移量。 在图集中的精灵帧可能会被剔除透明像素以获得更高的空间利用李,剔除后的矩形尺寸比剪裁前更小,偏移量指的是从原始矩形的中心到剪裁后的矩形中心的距离。

    Returns Vec2

  • 精灵帧偏移量。 在图集中的精灵帧可能会被剔除透明像素以获得更高的空间利用李,剔除后的矩形尺寸比剪裁前更小,偏移量指的是从原始矩形的中心到剪裁后的矩形中心的距离。

    Parameters

    Returns void

originalSize

  • get originalSize(): Size
  • set originalSize(value: Size): void

rect

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

    Returns Rect

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

    Parameters

    Returns void

rotated

  • get rotated(): boolean
  • set rotated(rotated: boolean): void

texture

width

  • get width(): number

Methods

calculateSlicedUV

  • _calculateSlicedUV(): void

calculateUV

  • _calculateUV(): void

deserialize

  • deserialize(serializeData: any, handle: any): 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 refreshTexture

serialize

  • serialize(exporting?: any): any

Private setRawAsset

  • setRawAsset(filename: string, inLibrary?: boolean): void

Protected textureLoaded

  • _textureLoaded(): void

checkRect

Optional createNode

destroy

  • destroy(): boolean

emit

  • emit(type: EventType, arg0?: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any): void

getGFXSampler

getGFXTexture

getOffset

getOriginalSize

getRect

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

    deprecated

    since v1.2, please use rect

    Parameters

    • Optional out: Rect

    Returns Rect

hasEventListener

  • hasEventListener(type: string, callback?: Function, target?: undefined | object): boolean
  • 检查指定事件是否已注册回调。

    Parameters

    • type: string

      Event type.

    • Optional callback: Function

      Callback function when event triggered.

    • Optional target: undefined | object

      Callback callee.

    Returns boolean

isRotated

  • isRotated(): boolean

off

  • 删除之前用同类型,回调,目标或 useCapture 注册的事件监听器,如果只传递 type,将会删除 type 类型的所有事件监听器。

    example

    import { log } from 'cc'; // register fire eventListener var callback = eventTarget.on('fire', function () { log("fire in the hole"); }, target); // remove fire event listener eventTarget.off('fire', callback, target); // remove all fire event listeners eventTarget.off('fire');

    Type parameters

    • TFunction: Function

    Parameters

    • type: EventType

      A string representing the event type being removed.

    • Optional callback: TFunction

      The callback to remove.

    • Optional thisArg: any

    Returns void

on

  • on<TFunction>(type: EventType, callback: TFunction, thisArg?: any, once?: undefined | false | true): typeof callback
  • 注册事件目标的特定事件类型回调。这种类型的事件应该被 emit 触发。

    example

    import { log } from 'cc'; eventTarget.on('fire', function () { log("fire in the hole"); }, node);

    Type parameters

    • TFunction: Function

    Parameters

    • type: EventType

      A string representing the event type to listen for.

    • callback: TFunction

      The callback that will be invoked when the event is dispatched. The callback is ignored if it is a duplicate (the callbacks are unique).

    • Optional thisArg: any

      The target (this object) to invoke the callback, can be null

    • Optional once: undefined | false | true

    Returns typeof callback

    • Just returns the incoming callback so you can save the anonymous function easier.

onLoaded

  • onLoaded(): void

once

  • once<TFunction>(type: EventType, callback: TFunction, thisArg?: any): typeof callback
  • 注册事件目标的特定事件类型回调,回调会在第一时间被触发后删除自身。

    example

    import { log } from 'cc'; eventTarget.once('fire', function () { log("this is the callback and will be invoked only once"); }, node);

    Type parameters

    • TFunction: Function

    Parameters

    • type: EventType

      A string representing the event type to listen for.

    • callback: TFunction

      The callback that will be invoked when the event is dispatched. The callback is ignored if it is a duplicate (the callbacks are unique).

    • Optional thisArg: any

    Returns typeof callback

removeAll

  • removeAll(typeOrTarget: string | object): void
  • 移除在特定事件类型中注册的所有回调或在某个目标中注册的所有回调。

    Parameters

    • typeOrTarget: string | object

      The event type or target with which the listeners will be removed

    Returns void

reset

Private serialize

  • serialize(): void

setOffset

  • setOffset(offset: Vec2): void

setOriginalSize

  • setOriginalSize(size: Size): void

setRect

  • setRect(rect: Rect): void

setRotated

  • setRotated(rotated: boolean): void

targetOff

  • targetOff(typeOrTarget: string | object): void
  • 在当前 EventTarget 上删除指定目标(target 参数)注册的所有事件监听器。 这个函数无法删除当前 EventTarget 的所有事件监听器,也无法删除 target 参数所注册的所有事件监听器。 这个函数只能删除 target 参数在当前 EventTarget 上注册的所有事件监听器。

    Parameters

    • typeOrTarget: string | object

      The target to be searched for all related listeners

    Returns void

textureLoaded

  • textureLoaded(): boolean

toString

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

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

    method

    toString

    Returns string

Static deferredDestroy

  • _deferredDestroy(): void

Static createWithImage

Static deserialize

  • deserialize(data: any): any

Static isRawAssetType

  • isRawAssetType(ctor: Function): boolean

Generated using TypeDoc