SpriteFrame 类型

继承于 Asset, EventTarget(mixin)

模块: cc 父模块: cc

一个 SpriteFrame 包含:

  • 纹理:会被渲染组件使用的 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)
  • insetTop Number sprite 的顶部边框
  • insetBottom Number sprite 的底部边框
  • insetLeft Number sprite 的左边边框
  • insetRight Number sprite 的左边边框
  • loaded Boolean 该资源是否已经成功加载
  • url String 资源的原生文件的真实url,只在资源被加载后以及没有启用延迟加载时才有效。
  • nativeUrl String 返回该资源对应的目标平台资源的 URL,如果没有将返回一个空字符串。
  • _native String Serializable url for native asset.
  • _nativeAsset Object The underlying native asset of this asset if one is available....
  • _uuid String
  • _name String
  • _objFlags Number
  • name String 该对象的名称。
  • isValid Boolean 表示该对象是否可用(被 destroy 后将不可用)。
方法
  • constructor SpriteFrame 类的构造函数。
  • textureLoaded 返回是否已加载纹理
  • isRotated 获取 SpriteFrame 是否旋转
  • setRotated 设置 SpriteFrame 是否旋转
  • getRect 获取 SpriteFrame 的纹理矩形区域
  • setRect 设置 SpriteFrame 的纹理矩形区域
  • getOriginalSize 获取修剪前的原始大小
  • setOriginalSize 设置修剪前的原始大小
  • getTexture 获取使用的纹理实例
  • getOffset 获取偏移量
  • setOffset 设置偏移量
  • clone 克隆 SpriteFrame
  • setTexture 通过 Texture,rect,rotated,offset 和 originalSize 设置 SpriteFrame。
  • ensureLoadTexture 当加载中的场景或 Prefab 被标记为 asyncLoadAssets 时,用户在场景中由自定义组件关联到的所有 SpriteFrame 的贴图都不会被提前加载。
  • clearTexture 当你暂时不再使用这个 SpriteFrame 时,可以调用这个方法来保证引用的贴图对象能被 GC。
  • hasEventListener 检查事件目标对象是否有为特定类型的事件注册的回调。
  • on 注册事件目标的特定事件类型回调。
  • off 删除之前用同类型,回调,目标或 useCapture 注册的事件监听器,如果只传递 type,将会删除 type 类型的所有事件监听器。
  • targetOff 在当前 EventTarget 上删除指定目标(target 参数)注册的所有事件监听器。
  • once 注册事件目标的特定事件类型回调,回调会在第一时间被触发后删除自身。
  • dispatchEvent 通过事件对象派发事件
  • toString Returns the asset's url....
  • serialize 应 AssetDB 要求提供这个方法
  • createNode 使用该资源在场景中创建一个新节点。
  • _setRawAsset Set native file name for this asset.
  • destroy 销毁该对象,并释放所有它对其它对象的引用。
  • _destruct Clear all references in the instance....
  • _onPreDestroy Called before the object being destroyed.
  • _serialize The customized serialization for this object. (Editor Only)
  • _deserialize Init this object from the custom serialized data.

Details

属性(properties)

insetTop

sprite 的顶部边框

meta description
类型 Number
定义于 cocos2d/core/assets/CCSpriteFrame.js:99
insetBottom

sprite 的底部边框

meta description
类型 Number
定义于 cocos2d/core/assets/CCSpriteFrame.js:118
insetLeft

sprite 的左边边框

meta description
类型 Number
定义于 cocos2d/core/assets/CCSpriteFrame.js:137
insetRight

sprite 的左边边框

meta description
类型 Number
定义于 cocos2d/core/assets/CCSpriteFrame.js:156
loaded

该资源是否已经成功加载

meta description
类型 Boolean
定义于 cocos2d/core/assets/CCAsset.js:57
url

资源的原生文件的真实url,只在资源被加载后以及没有启用延迟加载时才有效。 nativeUrl 与 url 的区别在于,url 是资源最终路径,所以 url 不需要再经过 md5 以及子包的路径转换, 另外某些带缓存机制的小游戏平台(微信等)上url可能会指向临时文件路径或者缓存路径,如果你需要在这些平台上使用资源的原生文件,请使用url,避免使用nativeUrl

meta description
类型 String
定义于 cocos2d/core/assets/CCAsset.js:68
nativeUrl

返回该资源对应的目标平台资源的 URL,如果没有将返回一个空字符串。

meta description
类型 String
定义于 cocos2d/core/assets/CCAsset.js:85
_native

Serializable url for native asset.

meta description
类型 String
定义于 cocos2d/core/assets/CCAsset.js:123
_nativeAsset

The underlying native asset of this asset if one is available. This property can be used to access additional details or functionality releated to the asset. This property will be initialized by the loader if _native is available.

meta description
类型 Object
定义于 cocos2d/core/assets/CCAsset.js:131
_uuid
meta description
类型 String
定义于 cocos2d/core/assets/CCRawAsset.js:46
_name
meta description
类型 String
定义于 cocos2d/core/platform/CCObject.js:76
_objFlags
meta description
类型 Number
定义于 cocos2d/core/platform/CCObject.js:83
name

该对象的名称。

meta description
类型 String
定义于 cocos2d/core/platform/CCObject.js:240
示例
obj.name = "New Obj";
isValid

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

meta description
类型 Boolean
定义于 cocos2d/core/platform/CCObject.js:258
示例
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

方法

constructor

SpriteFrame 类的构造函数。

meta description
定义于 cocos2d/core/assets/CCSpriteFrame.js:176
参数列表
  • filename String | Texture2D
  • rect Rect
  • rotated Boolean Whether the frame is rotated in the texture
  • offset Vec2 The offset of the frame in the texture
  • originalSize Size The size of the frame in the texture
textureLoaded

返回是否已加载纹理

meta description
返回 boolean
定义于 cocos2d/core/assets/CCSpriteFrame.js:235
isRotated

获取 SpriteFrame 是否旋转

meta description
返回 Boolean
定义于 cocos2d/core/assets/CCSpriteFrame.js:245
setRotated

设置 SpriteFrame 是否旋转

meta description
定义于 cocos2d/core/assets/CCSpriteFrame.js:255
参数列表
getRect

获取 SpriteFrame 的纹理矩形区域

meta description
返回 Rect
定义于 cocos2d/core/assets/CCSpriteFrame.js:267
setRect

设置 SpriteFrame 的纹理矩形区域

meta description
定义于 cocos2d/core/assets/CCSpriteFrame.js:277
参数列表
getOriginalSize

获取修剪前的原始大小

meta description
返回 Size
定义于 cocos2d/core/assets/CCSpriteFrame.js:289
setOriginalSize

设置修剪前的原始大小

meta description
定义于 cocos2d/core/assets/CCSpriteFrame.js:299
参数列表
getTexture

获取使用的纹理实例

meta description
返回 Texture2D
定义于 cocos2d/core/assets/CCSpriteFrame.js:314
getOffset

获取偏移量

meta description
返回 Vec2
定义于 cocos2d/core/assets/CCSpriteFrame.js:370
setOffset

设置偏移量

meta description
定义于 cocos2d/core/assets/CCSpriteFrame.js:380
参数列表
clone

克隆 SpriteFrame

meta description
返回 SpriteFrame
定义于 cocos2d/core/assets/CCSpriteFrame.js:390
setTexture

通过 Texture,rect,rotated,offset 和 originalSize 设置 SpriteFrame。

meta description
返回 Boolean
定义于 cocos2d/core/assets/CCSpriteFrame.js:400
参数列表
ensureLoadTexture

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

meta description
定义于 cocos2d/core/assets/CCSpriteFrame.js:455
示例
if (spriteFrame.textureLoaded()) {
    this._onSpriteFrameLoaded();
}
else {
    spriteFrame.once('load', this._onSpriteFrameLoaded, this);
    spriteFrame.ensureLoadTexture();
}
clearTexture

当你暂时不再使用这个 SpriteFrame 时,可以调用这个方法来保证引用的贴图对象能被 GC。然后当你要渲染 SpriteFrame 时,你需要手动调用 ensureLoadTexture 来重新加载贴图。

meta description
定义于 cocos2d/core/assets/CCSpriteFrame.js:487
废弃(Deprecated) since 2.1
hasEventListener

检查事件目标对象是否有为特定类型的事件注册的回调。

meta description
返回 Boolean
定义于 cocos2d/core/event/event-target.js:69
参数列表
  • type String The type of event.
on

注册事件目标的特定事件类型回调。这种类型的事件应该被 emit 触发。

meta description
返回 Function
定义于 cocos2d/core/event/event-target.js:77
参数列表
  • type String A string representing the event type to listen for.
  • callback Function The callback that will be invoked when the event is dispatched.
                           The callback is ignored if it is a duplicate (the callbacks are unique).
    
    • arg1 Any arg1
    • arg2 Any arg2
    • arg3 Any arg3
    • arg4 Any arg4
    • arg5 Any arg5
  • target Object The target (this object) to invoke the callback, can be null
示例
eventTarget.on('fire', function () {
    cc.log("fire in the hole");
}, node);
off

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

meta description
定义于 cocos2d/core/event/event-target.js:119
参数列表
  • type String A string representing the event type being removed.
  • callback Function The callback to remove.
  • target Object The target (this object) to invoke the callback, if it's not given, only callback without target will be removed
示例
// register fire eventListener
var callback = eventTarget.on('fire', function () {
    cc.log("fire in the hole");
}, target);
// remove fire event listener
eventTarget.off('fire', callback, target);
// remove all fire event listeners
eventTarget.off('fire');
targetOff

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

meta description
定义于 cocos2d/core/event/event-target.js:163
参数列表
  • target Object The target to be searched for all related listeners
once

注册事件目标的特定事件类型回调,回调会在第一时间被触发后删除自身。

meta description
定义于 cocos2d/core/event/event-target.js:182
参数列表
  • type String A string representing the event type to listen for.
  • callback Function The callback that will be invoked when the event is dispatched.
                           The callback is ignored if it is a duplicate (the callbacks are unique).
    
    • arg1 Any arg1
    • arg2 Any arg2
    • arg3 Any arg3
    • arg4 Any arg4
    • arg5 Any arg5
  • target Object The target (this object) to invoke the callback, can be null
示例
eventTarget.once('fire', function () {
    cc.log("this is the callback and will be invoked only once");
}, node);
dispatchEvent

通过事件对象派发事件

meta description
定义于 cocos2d/core/event/event-target.js:208
参数列表
toString

Returns the asset's url.

The Asset object overrides the toString() method of the Object object. For Asset objects, the toString() method returns a string representation of the object. JavaScript calls the toString() method automatically when an asset is to be represented as a text value or when a texture is referred to in a string concatenation.

meta description
返回 String
定义于 cocos2d/core/assets/CCAsset.js:184
serialize

应 AssetDB 要求提供这个方法

meta description
返回 String
定义于 cocos2d/core/assets/CCAsset.js:198
createNode

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

meta description
定义于 cocos2d/core/assets/CCAsset.js:209
参数列表
_setRawAsset

Set native file name for this asset.

meta description
定义于 cocos2d/core/assets/CCAsset.js:224
参数列表
destroy

销毁该对象,并释放所有它对其它对象的引用。
实际销毁操作会延迟到当前帧渲染前执行。从下一帧开始,该对象将不再可用。 您可以在访问对象之前使用 cc.isValid(obj) 来检查对象是否已被销毁。

meta description
返回 Boolean
定义于 cocos2d/core/platform/CCObject.js:293
示例
obj.destroy();
_destruct

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; } } }

meta description
定义于 cocos2d/core/platform/CCObject.js:427
_onPreDestroy

Called before the object being destroyed.

meta description
定义于 cocos2d/core/platform/CCObject.js:460
_serialize

The customized serialization for this object. (Editor Only)

meta description
返回 object
定义于 cocos2d/core/platform/CCObject.js:485
参数列表
_deserialize

Init this object from the custom serialized data.

meta description
定义于 cocos2d/core/platform/CCObject.js:495
参数列表
  • data Object the serialized json data
  • ctx _Deserializer

条与 "" 相匹配的结果

    没有与 "" 匹配的结果