cococococos 2 d-Xノード(CCSpriteFrame.h.)API


本論文はhttp://blog.csdn.net/runaying ,引用は出典を明記しなければならない!
cococococos 2 d-Xノード(CCSpriteFrame.h.)API
暖かいお知らせ:
みなさんがもっと勉強できるように、私のブログを見ることを強く勧めます。  Cocos 2 d-X権威ガイドノート
///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__