SpriteFrame 类型
继承于 Asset
, EventTarget
(mixin)
模块: cc父模块: cc
一个 SpriteFrame 包含:
- 纹理:会被渲染组件使用的 Texture2D 对象。
- 矩形:在纹理中的矩形区域。
索引
属性(properties)
方法
Details
属性(properties)
insetTop
sprite 的顶部边框
insetBottom
sprite 的底部边框
insetLeft
sprite 的左边边框
insetRight
sprite 的左边边框
loaded
该资源是否已经成功加载
nativeUrl
返回该资源对应的目标平台资源的 URL,如果没有将返回一个空字符串。
_native
Serializable url for native asset.
_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.
_uuid
_name
_objFlags
name
该对象的名称。
示例
obj.name = "New Obj";
isValid
表示该对象是否可用(被 destroy 后将不可用)。当一个对象的 destroy
调用以后,会在这一帧结束后才真正销毁。因此从下一帧开始 isValid
就会返回 false,而当前帧内 isValid
仍然会是 true。如果希望判断当前帧是否调用过 destroy
,请使用 cc.isValid(obj, true)
,不过这往往是特殊的业务需求引起的,通常情况下不需要这样。
示例
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 类的构造函数。
参数列表
filename
String | Texture2Drect
Rectrotated
Boolean Whether the frame is rotated in the textureoffset
Vec2 The offset of the frame in the textureoriginalSize
Size The size of the frame in the texture
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 的贴图都不会被提前加载。只有当 Sprite 组件要渲染这些 SpriteFrame 时,才会检查贴图是否加载。如果你希望加载过程提前,你可以手工调用这个方法。
示例
if (spriteFrame.textureLoaded()) {
this._onSpriteFrameLoaded();
}
else {
spriteFrame.once('load', this._onSpriteFrameLoaded, this);
spriteFrame.ensureLoadTexture();
}
clearTexture
当你暂时不再使用这个 SpriteFrame 时,可以调用这个方法来保证引用的贴图对象能被 GC。然后当你要渲染 SpriteFrame 时,你需要手动调用 ensureLoadTexture
来重新加载贴图。
示例
spriteFrame.clearTexture();
// when you need the SpriteFrame again...
spriteFrame.once('load', onSpriteFrameLoaded);
spriteFrame.ensureLoadTexture();
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.
serialize
应 AssetDB 要求提供这个方法
createNode
使用该资源在场景中创建一个新节点。如果这类资源没有相应的节点类型,该方法应该是空的。
参数列表
_setRawAsset
Set native file name for this asset.
参数列表
hasEventListener
检查事件目标对象是否有为特定类型的事件注册的回调。
参数列表
type
String The type of event.
on
注册事件目标的特定事件类型回调。这种类型的事件应该被 emit
触发。
参数列表
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 arg1arg2
Any arg2arg3
Any arg3arg4
Any arg4arg5
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 类型的所有事件监听器。
参数列表
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 上注册的所有事件监听器。
参数列表
target
Object The target to be searched for all related listeners
once
注册事件目标的特定事件类型回调,回调会在第一时间被触发后删除自身。
参数列表
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 arg1arg2
Any arg2arg3
Any arg3arg4
Any arg4arg5
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);
emit
通过事件名发送自定义事件
参数列表
type
String event typearg1
Any First argumentarg2
Any Second argumentarg3
Any Third argumentarg4
Any Fourth argumentarg5
Any Fifth argument
示例
eventTarget.emit('fire', event);
eventTarget.emit('fire', message, emitter);
dispatchEvent
通过事件对象派发事件
参数列表
destroy
销毁该对象,并释放所有它对其它对象的引用。实际销毁操作会延迟到当前帧渲染前执行。从下一帧开始,该对象将不再可用。您可以在访问对象之前使用 cc.isValid(obj) 来检查对象是否已被销毁。
示例
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; } } }
_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.
参数列表
data
Object the serialized json datactx
_Deserializer