Cocos Creator API

1.2.0

Cocos Creator is a highly customizable game development tool that utilizes the power of cocos2d-x.

SpriteFrame

继承于 Asset
模块: cc

一个 SpriteFrame 包含:

  • 纹理:会被 Sprite 使用的 Texture2D 对象。
  • 矩形:在纹理中的矩形区域。
    注意:
    不建议用户使用构造函数进行创建,因为其内存使用情况,不能在本地环境中进行跟踪,需要用户手动管理内存,不然会导致严重错误。
    如果你知道你在做什么,你可能需要手动将其保留在创建之后,然后释放它。

示例:

// load a cc.SpriteFrame with image path (Recommend)
var self = this;
var url = "test assets/PurpleMonster";
cc.loader.loadRes(url, cc.SpriteFrame, function (err, spriteFrame) {
var node = new cc.Node("New Sprite");
var sprite = node.addComponent(cc.Sprite);
sprite.spriteFrame = spriteFrame;
node.parent = self.node
});

属性(properties)

_textureFilenameSetter String private readOnly

Use this property to set raw texture url during loading

insetTop Number

sprite 的顶部边框

insetBottom Number

sprite 的底部边框

insetLeft Number

sprite 的左边边框

insetRight Number

sprite 的左边边框

rawUrl String readOnly

继承自 Asset:

返回该资源的原始文件的 URL,如果不支持 RAW 文件,它将返回一个空字符串。

rawUrls String[] readOnly

继承自 Asset:

返回该资源的原文件的 URL 数组,如果不支持 RAW 文件,它将返回一个空数组。

_rawFiles String[] private

继承自 Asset:

在 lite 版的 Fireball 里,raw asset 并不仅仅是在 properties 里声明了 rawType 才有, 而是每个 asset 都能指定自己的 raw file url。这些 url 就存在 _rawFiles 字段中。 AssetLibrary 并不会帮你加载这些 url,除非你声明了 rawType。

_uuid String private

继承自 RawAsset:

There are no properties that match your current filter settings. You can change your filter settings in the index section on this page. index

方法

SpriteFrame
(
  • [filename ]
  • [rect ]
  • [rotated ]
  • [offset ]
  • [originalSize ]
)

SpriteFrame 类的构造函数。
注意:
不建议用户使用构造函数进行创建,因为其内存使用情况,不能在本地环境中进行跟踪, 需要用户手动管理内存,不然会导致严重错误。
如果你知道你在做什么,你可能需要手动将其保留在创建之后,然后释放它。

名称 类型 描述
filename optional String | Texture2D
rect optional Rect
rotated optional Boolean

Whether the frame is rotated in the texture

offset optional Vec2

The offset of the frame in the texture

originalSize optional Size

The size of the frame in the texture

textureLoaded ( ) boolean

返回是否已加载纹理

返回:

类型: boolean

addLoadedEventListener
(
  • callback
  • target
)
deprecated

废弃: since 3.1, please use EventTarget API instead

Add a event listener for texture loaded event.

名称 类型 描述
callback Function
target Object

isRotated ( ) Boolean

获取 SpriteFrame 是否旋转

返回:

类型: Boolean

setRotated
(
  • bRotated
)

设置 SpriteFrame 是否旋转

名称 类型 描述
bRotated Boolean

getRect ( ) Rect

获取 SpriteFrame 的纹理矩形区域

返回:

类型: Rect

setRect
(
  • rect
)

设置 SpriteFrame 的纹理矩形区域

名称 类型 描述
rect Rect

getOriginalSize ( ) Size

获取修剪前的原始大小

返回:

类型: Size

setOriginalSize
(
  • size
)

设置修剪前的原始大小

名称 类型 描述
size Size

getTexture ( ) Texture2D

获取使用的纹理实例

返回:

类型: Texture2D

_refreshTexture
(
  • texture
)

设置使用的纹理实例,会被 retain。

名称 类型 描述
texture Texture2D

getOffset ( ) Vec2

获取偏移量

返回:

类型: Vec2

setOffset
(
  • offsets
)

设置偏移量

名称 类型 描述
offsets Vec2

clone ( ) SpriteFrame

克隆 SpriteFrame

返回:

类型: SpriteFrame

ensureLoadTexture ( )

当加载中的场景被标记为 asyncLoadAssets 时,用户在场景中由自定义组件关联到的所有 SpriteFrame 的贴图都不会被提前加载。 只有当 Sprite 组件要渲染这些 SpriteFrame 时,才会检查贴图是否加载。如果你希望加载过程提前,你可以手工调用这个方法。

示例:

if (spriteFrame.textureLoaded()) {
    this._onSpriteFrameLoaded();
}
else {
    spriteFrame.once('load', this._onSpriteFrameLoaded, this);
    spriteFrame.ensureLoadTexture();
}

serialize ( ) String private

继承自 Asset:

应 AssetDB 要求提供这个方法

返回:

类型: String

createNode
(
  • callback
)

继承自 Asset:

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

名称 类型 描述
callback Function
  • error String

    null or the error info

  • node Object

    the created node or null

_setRawFiles
(
  • rawFiles
)
private

继承自 Asset:

Set raw file names for this asset.

名称 类型 描述
rawFiles String[]

There are no methods that match your current filter settings. You can change your filter settings in the index section on this page. index