COCos 2 d-Xノード(CCAtlas Node.h)API
3471 ワード
本論文はhttp://blog.csdn.net/runaying ,引用は出典を明記しなければならない!
COCos 2 d-Xノード(CCAtlas Node.h)API
みなさんがよりよく勉強できるように、私のブログを見ることを強くおすすめします。 Cocos 2 d-X権威ガイドノート
COCos 2 d-Xノード(CCAtlas Node.h)API
みなさんがよりよく勉強できるように、私のブログを見ることを強くおすすめします。 Cocos 2 d-X権威ガイドノート
///cocos2d-x-3.0alpha0/cocos2dx/base_nodes
#ifndef __CCATLAS_NODE_H__
#define __CCATLAS_NODE_H__
#include "CCNode.h"
#include "CCProtocols.h"
#include "ccTypes.h"
NS_CC_BEGIN
/**
* @addtogroup base_nodes
* @{
*/
class TextureAtlas;
/** @brief AtlasNode Node , RGBAProtocol 、 TextureProtocol
render( ) TextureAtlas .
render( ) AtlasNode TextureAtlas (or AtlasNode )
, :
- opacity and RGB colors // RGB
*/
class CC_DLL AtlasNode : public NodeRGBA, public TextureProtocol
{
public:
/** Atlas , item( Atlas tile( )) 、 items AtlasNode */
static AtlasNode * create(const char* tile,unsigned int tileWidth, unsigned int tileHeight,
unsigned int itemsToRender);
/**
* @js ctor
*/
AtlasNode();
/**
* @js NA
* @lua NA
*/
virtual ~AtlasNode();
/** Atlas , item( Atlas tile( )) 、 items AtlasNode */
bool initWithTileFile(const char* tile, unsigned int tileWidth, unsigned int tileHeight, unsigned int itemsToRender);
/** texture, item( Atlas tile( )) 、 items AtlasNode
*/
bool initWithTexture(Texture2D* texture, unsigned int tileWidth, unsigned int tileHeight, unsigned int itemsToRender);
/** Atlas( ) (indexed vertex array). //
*
*/
virtual void updateAtlasValues();
void setTextureAtlas(TextureAtlas* textureAtlas);
TextureAtlas* getTextureAtlas() const;
void setQuadsToDraw(unsigned int quadsToDraw);
unsigned int getQuadsToDraw() const;
// Overrides( )
virtual void draw() override;
virtual Texture2D* getTexture() const override;
virtual void setTexture(Texture2D *texture) override;
virtual bool isOpacityModifyRGB() const override;
virtual void setOpacityModifyRGB(bool isOpacityModifyRGB) override;
virtual const Color3B& getColor(void) const override;
virtual void setColor(const Color3B& color) override;
virtual void setOpacity(GLubyte opacity) override;
/**
* @code
* js or lua
* In js: var setBlendFunc(var src, var dst)
* @endcode
* @lua NA
*/
virtual void setBlendFunc(const BlendFunc& blendFunc) override;
/**
* @js NA
* @lua NA
*/
virtual const BlendFunc& getBlendFunc() const override;
private :
void calculateMaxItems();
void updateBlendFunc();
void updateOpacityModifyRGB();
friend class Director;
void setIgnoreContentScaleFactor(bool bIgnoreContentScaleFactor);
protected:
//!
unsigned int _itemsPerRow;
//!
unsigned int _itemsPerColumn;
//!
unsigned int _itemWidth;
//!
unsigned int _itemHeight;
Color3B _colorUnmodified;
TextureAtlas* _textureAtlas;
//
bool _isOpacityModifyRGB;
BlendFunc _blendFunc;
//
unsigned int _quadsToDraw;
//
GLint _uniformColor;
// LabelAtlas FPS . .
bool _ignoreContentScaleFactor;
};
// end of base_node group
/// @}
NS_CC_END
#endif // __CCATLAS_NODE_H__