您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x 动画详解之三CCSpriteFrame

2012-03-06 16:59 471 查看
CCSpriteFrame

精灵帧

CCTexture2D 将被用于CCSprite

默认的构造方法

通过 图片纹理+纹理上的矩形来创建

或通过 图片纹理+纹理上的矩形+是否旋转+偏移坐标+真实size

这里简单讲下

是否旋转

为了节省图片空间 图片将会被旋转90度

偏移坐标+真实size

为了节省图片空间 原始图片周围透明区域将被trim

Public Member Functions

const CCRect & getRectInPixels (void)
void setRectInPixels (const CCRect &rectInPixels)
bool isRotated (void)
void setRotated (bool bRotated)
const CCRect & getRect (void)
get rect of the frame
void setRect (const CCRect &rect)
set rect of the frame
const CCPoint & getOffsetInPixels (void)
get offset of the frame
void setOffsetInPixels (const CCPoint &offsetInPixels)
set offset of the frame
const CCSize & getOriginalSizeInPixels (void)
get original size of the trimmed image
void setOriginalSizeInPixels (const CCSize &sizeInPixels)
set original size of the trimmed image
CCTexture2D * getTexture (void)
get texture of the frame
void setTexture (CCTexture2D *pobTexture) 设置图片纹理
set texture of the frame, the texture is retained
~CCSpriteFrame (void)
virtual CCObject * copyWithZone (CCZone *pZone)
bool initWithTexture (CCTexture2D *pobTexture, const CCRect &rect)
Initializes a CCSpriteFrame with a texture, rect in points.
bool initWithTexture (CCTexture2D *pobTexture, const CCRect &rect, bool rotated, const CCPoint &offset, const CCSize &originalSize)
Initializes a CCSpriteFrame with a texture, rect, rotated, offset and originalSize in pixels.

Static Public Member Functions

static CCSpriteFrame * frameWithTexture (CCTexture2D *pobTexture, const CCRect &rect)
Create a CCSpriteFrame with a texture, rect in points.
static CCSpriteFrame * frameWithTexture (CCTexture2D *pobTexture, const CCRect &rect, bool rotated, const CCPoint &offset, const CCSize &originalSize)
Create a CCSpriteFrame with a texture, rect, rotated, offset and originalSize in pixels.

Protected Attributes

CCRect m_obRectInPixels
bool m_bRotated
CCRect m_obRect
CCPoint m_obOffsetInPixels
CCSize m_obOriginalSizeInPixels
CCTexture2D * m_pobTexture

Detailed Description

A CCSpriteFrame has:

texture: A CCTexture2D that will be used by the CCSprite

rectangle: A rectangle of the texture

You can modify the frame of a CCSprite by doing:

CCSpriteFrame *frame = CCSpriteFrame::frameWithTexture(texture, rect, offset); sprite->setDisplayFrame(frame);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: