本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
cocos2d-X 节点(CCSpriteFrame.h..)API
///cocos2d-x-3.0alpha0/cocos2dx/sprite_nodes
#ifndef __SPRITE_CCSPRITE_FRAME_H__
#define __SPRITE_CCSPRITE_FRAME_H__
#include "base_nodes/CCNode.h"
#include "CCProtocols.h"
#include "cocoa/CCObject.h"
#include "cocoa/CCGeometry.h"
NS_CC_BEGIN
class Texture2D;
/**
* @addtogroup sprite_nodes
* @{
*/
/** @brief 一个 SpriteFrame 有:
- texture: Sprite 将使用的 Texture2D
- rectangle: texture 的尺寸
你可以修改框架做一些其他的事情:
SpriteFrame *frame = SpriteFrame::frameWithTexture(texture, rect, offset);
sprite->setDisplayFrame(frame);
*/
class CC_DLL SpriteFrame : public Object, public Clonable
{
public:
/** 使用 filname 、rect 创建一个 SpriteFrame
假定 frame 没有被修改
*/
static SpriteFrame* create(const char* filename, const Rect& rect);
/** 使用 filname 、rect、rotated(旋转)、offset、originalSize(原始大小) 创建一个
originalSize 是 frame 被修改前的尺寸(以像素为单位)
*/
static SpriteFrame* create(const char* filename, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize);
/** 使用 texture 和 rect 创建一个 SpriteFrame
假定 frame 没有被修改
*/
static SpriteFrame* createWithTexture(Texture2D* pobTexture, const Rect& rect);
/** 使用 texture, rect, rotated, offset 、 originalSize 创建一个 SpriteFrame
originalSize 是 frame 被修改前的尺寸(以像素为单位)
*/
static SpriteFrame* createWithTexture(Texture2D* pobTexture, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize);
/**
* @js NA
* @lua NA
*/
virtual ~SpriteFrame(void);
/** 使用 texture 和 rect 初始化一个 SpriteFrame
假定 frame 没有被修改
*/
bool initWithTexture(Texture2D* pobTexture, const Rect& rect);
/** 使用 filname 、rect 初始化一个 SpriteFrame
假定 frame 没有被修改
*/
bool initWithTextureFilename(const char* filename, const Rect& rect);
/** 使用 texture, rect, rotated, offset 、 originalSize 初始化一个 SpriteFrame
originalSize 是 frame 被修改前的尺寸(以像素为单位)
*/
bool initWithTexture(Texture2D* pobTexture, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize);
/** 使用 filname 、rect、rotated(旋转)、offset、originalSize(原始大小) 初始化一个
originalSize 是 frame 被修改前的尺寸(以像素为单位)
@since v1.1
*/
bool initWithTextureFilename(const char* filename, const Rect& rect, bool rotated, const Point& offset, const Size& originalSize);
// 属性
inline const Rect& getRectInPixels() const { return _rectInPixels; }
void setRectInPixels(const Rect& rectInPixels);
inline bool isRotated(void) const { return _rotated; }
inline void setRotated(bool bRotated) { _rotated = bRotated; }
/** get frame 的尺寸(矩形)*/
inline const Rect& getRect(void) const { return _rect; }
/** set frame 的尺寸(矩形) */
void setRect(const Rect& rect);
/** get frame 的 offset */
const Point& getOffsetInPixels(void) const;
/** set frame 的 offset */
void setOffsetInPixels(const Point& offsetInPixels);
/** get 图像裁剪后的原始大小 */
inline const Size& getOriginalSizeInPixels(void) const { return _originalSizeInPixels; }
/** set 图像裁剪后的原始大小*/
inline void setOriginalSizeInPixels(const Size& sizeInPixels) { _originalSizeInPixels = sizeInPixels; }
/** get 图像裁剪后的原始大小 */
inline const Size& getOriginalSize(void) const { return _originalSize; }
/** set 图像裁剪后的原始大小 */
inline void setOriginalSize(const Size& sizeInPixels) { _originalSize = sizeInPixels; }
/** get frame 的 texture */
Texture2D* getTexture(void);
/** set frame拥有 的 texture */
void setTexture(Texture2D* pobTexture);
const Point& getOffset(void) const;
void setOffset(const Point& offsets);
// Overrides
virtual SpriteFrame *clone() const override;
protected:
Point _offset;
Size _originalSize;
Rect _rectInPixels;
bool _rotated;
Rect _rect;
Point _offsetInPixels;
Size _originalSizeInPixels;
Texture2D *_texture;
std::string _textureFilename;
};
// end of sprite_nodes group
/// @}
NS_CC_END
#endif //__SPRITE_CCSPRITE_FRAME_H__