《不靠谱2.x》006.CCSprite(上)003 CCSpriteFrame

《不靠谱2.x》006.CCSprite(上)003 CCSpriteFrame,第1张

概述一、概述     CCSpriteFrame继承自CCObject。看了源码后感觉和CCTexture2D一样,不常直接使用、更多作为中间变量。源码如下: class CC_DLL CCSpriteFrame : public CCObject{public: // attributes inline const CCRect& getRectInPixels(void) {

一、概述
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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1063133.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存