![]()
一、概述
CCSpriteFrame继承自CCObject。看了源码后感觉和CCTexture2D一样,不常直接使用、更多作为中间变量。源码如下:
class CC_DLL CCSpriteFrame : public CCObject{public: // attributes inline const CCRect& getRectInPixels(voID) { return m_obRectInPixels; } voID setRectInPixels(const CCRect& rectInPixels); inline bool isRotated(voID) { return m_brotated; } inline voID setRotated(bool brotated) { m_brotated = brotated; } /** get rect of the frame */ inline const CCRect& getRect(voID) { return m_obRect; } /** set rect of the frame */ voID setRect(const CCRect& rect); /** get offset of the frame */ const CCPoint& getoffsetInPixels(voID); /** set offset of the frame */ voID setoffsetInPixels(const CCPoint& offsetInPixels); /** get original size of the trimmed image */ inline const CCSize& getoriginalSizeInPixels(voID) { return m_obOriginalSizeInPixels; } /** set original size of the trimmed image */ inline voID setoriginalSizeInPixels(const CCSize& sizeInPixels) { m_obOriginalSizeInPixels = sizeInPixels; } /** get original size of the trimmed image */ inline const CCSize& getoriginalSize(voID) { return m_obOriginalSize; } /** set original size of the trimmed image */ inline voID setoriginalSize(const CCSize& sizeInPixels) { m_obOriginalSize = sizeInPixels; } /** get texture of the frame */ CCTexture2D* getTexture(voID); /** set texture of the frame,the texture is retained */ voID setTexture(CCTexture2D* pobTexture); const CCPoint& getoffset(voID); voID setoffset(const CCPoint& offsets);public: /** * @Js NA * @lua NA */ ~CCSpriteFrame(voID); /** * @Js NA * @lua NA */ virtual CCObject* copyWithZone(CCZone *pZone); /** Create a CCSpriteFrame with a texture filename,rect in points. It is assumed that the frame was not trimmed. */ static CCSpriteFrame* create(const char* filename,const CCRect& rect); /** Create a CCSpriteFrame with a texture filename,rect,rotated,offset and originalSize in pixels. The originalSize is the size in pixels of the frame before being trimmed. */ static CCSpriteFrame* create(const char* filename,const CCRect& rect,bool rotated,const CCPoint& offset,const CCSize& originalSize); /** Create a CCSpriteFrame with a texture,rect in points. It is assumed that the frame was not trimmed. */ static CCSpriteFrame* createWithTexture(CCTexture2D* pobTexture,const CCRect& rect); /** Create a CCSpriteFrame with a texture,offset and originalSize in pixels. The originalSize is the size in points of the frame before being trimmed. */ static CCSpriteFrame* createWithTexture(CCTexture2D* pobTexture,const CCSize& originalSize);public: /** Initializes a CCSpriteFrame with a texture,rect in points. It is assumed that the frame was not trimmed. */ bool initWithTexture(CCTexture2D* pobTexture,const CCRect& rect); /** Initializes a CCSpriteFrame with a texture filename,rect in points; It is assumed that the frame was not trimmed. */ bool initWithTexturefilename(const char* filename,const CCRect& rect); /** Initializes a CCSpriteFrame with a texture,offset and originalSize in pixels. The originalSize is the size in points of the frame before being trimmed. */ bool initWithTexture(CCTexture2D* pobTexture,const CCSize& originalSize); /** Initializes a CCSpriteFrame with a texture,offset and originalSize in pixels. The originalSize is the size in pixels of the frame before being trimmed. @since v1.1 */ bool initWithTexturefilename(const char* filename,const CCSize& originalSize);protected: CCPoint m_obOffset; CCSize m_obOriginalSize; CCRect m_obRectInPixels; bool m_brotated; CCRect m_obRect; CCPoint m_obOffsetInPixels; CCSize m_obOriginalSizeInPixels; CCTexture2D *m_pobTexture; std::string m_strTexturefilename;};
二、分析
1、CCSpriteFrame可通过:文件名、纹理、纹理文件名(不知道和前面的文件名有什么区别)生成
2、可以获取或设置这些属性的值:角度以及是否有角度偏转、矩形、大小、2D纹理、偏移
三、总结 1、可通过文件名、纹理、纹理文件名生成CCSpriteFrame对象 2、不常直接使用,更多的作为中间变量
总结以上是内存溢出为你收集整理的《不靠谱2.x》006.CCSprite(上)003 CCSpriteFrame全部内容,希望文章能够帮你解决《不靠谱2.x》006.CCSprite(上)003 CCSpriteFrame所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)