Cocos2d-X中的CCSprite_cocos2d-x ccsprite(1)

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

//通过纹理创建精灵  
static CCSprite* createWithTexture(CCTexture2D *pTexture);

//通过纹理和矩形创建精灵
static CCSprite* createWithTexture(CCTexture2D *pTexture, const CCRect& rect);

//通过精灵帧创建精灵
static CCSprite* createWithSpriteFrame(CCSpriteFrame *pSpriteFrame);

//通过精灵帧和矩形创建精灵
static CCSprite* createWithSpriteFrameName(const char *pszSpriteFrameName);

//构造函数
CCSprite(void);

//析构函数
virtual ~CCSprite(void);

//初始化实例
virtual bool init(void);

//初始化纹理
virtual bool initWithTexture(CCTexture2D *pTexture);

//初始化纹理和矩形
virtual bool initWithTexture(CCTexture2D *pTexture, const CCRect& rect);

//初始化纹理、矩形和扭转
virtual bool initWithTexture(CCTexture2D *pTexture, const CCRect& rect, bool rotated);

//初始化精灵帧
virtual bool initWithSpriteFrame(CCSpriteFrame *pSpriteFrame);

//初始化精灵帧
virtual bool initWithSpriteFrameName(const char *pszSpriteFrameName);

//初始化文件
virtual bool initWithFile(const char *pszFilename);

//初始化文件和矩形
virtual bool initWithFile(const char *pszFilename, const CCRect& rect);

//设置纹理
virtual void setTexture(CCTexture2D *texture);

//得到纹理
virtual CCTexture2D* getTexture(void);

//设置精灵条
inline void setBlendFunc(ccBlendFunc blendFunc) { m_sBlendFunc = blendFunc; }

//得到精灵条
inline ccBlendFunc getBlendFunc(void) { return m_sBlendFunc; }

//设置精灵的比例
virtual void setScaleX(float fScaleX);
virtual void setScaleY(float fScaleY);

//设置精灵的坐标
virtual void setPosition(const CCPoint& pos);

//旋转精灵,角度为单位,正数是顺时针,负数是逆时针  
virtual void setRotation(float fRotation);
virtual void setRotationX(float fRotationX);
virtual void setRotationY(float fRotationY);

//精灵扭曲,跟单向量的旋转差不多,但是不会颠倒  
virtual void setSkewX(float sx);
virtual void setSkewY(float sy);

//销毁精灵
virtual void removeChild(CCNode* pChild, bool bCleanup);

//从父节点中删除当前子节点 如果Cleanup为true则删除当前节点的所有动作
virtual void removeAllChildrenWithCleanup(bool bCleanup);

//重新设定精灵的zOrder
virtual void reorderChild(CCNode *pChild, int zOrder);

//添加精灵
virtual void addChild(CCNode *pChild);
virtual void addChild(CCNode *pChild, int zOrder);
virtual void addChild(CCNode *pChild, int zOrder, int tag);

//重新排列所有精灵
virtual void sortAllChildren();

//设置精灵的比例
virtual void setScale(float fScale);

//设置VertexZ(VertexZ和Zorder的功能一样,都表示渲染顺序)
virtual void setVertexZ(float fVertexZ);

//设置描点的坐标
virtual void setAnchorPoint(const CCPoint& anchor);

//是否忽略描点
virtual void ignoreAnchorPointForPosition(bool value);

//设置精灵是否可见
virtual void setVisible(bool bVisible);

//绘图
virtual void draw(void);

//设置颜色
virtual void setColor(const ccColor3B& color3);

//更新显示的颜色
virtual void updateDisplayedColor(const ccColor3B& parentColor);

//设置透明度
virtual void setOpacity(GLubyte opacity);

//修改颜色的透明度
virtual void setOpacityModifyRGB(bool modify);
virtual bool isOpacityModifyRGB(void);

//更新透明度
virtual void updateDisplayedOpacity(GLubyte parentOpacity);

//更新变化
virtual void updateTransform(void);

//得到批量结点
virtual CCSpriteBatchNode* getBatchNode(void);
 //设置批量结点
virtual void setBatchNode(CCSpriteBatchNode *pobSpriteBatchNode);

//设置纹理所在的矩形区域
virtual void setTextureRect(const CCRect& rect);

//设置纹理所在的矩形区域
virtual void setTextureRect(const CCRect& rect, bool rotated, const CCSize& untrimmedSize);

//设置顶点矩形
virtual void setVertexRect(const CCRect& rect);

//设置显示精灵帧
virtual void setDisplayFrame(CCSpriteFrame *pNewFrame);

//判断是否创建了精灵帧
virtual bool isFrameDisplayed(CCSpriteFrame *pFrame);

//返回当前显示的精灵帧
virtual CCSpriteFrame* displayFrame(void);

//设置精灵帧的名字和索引
virtual void setDisplayFrameWithAnimationName(const char *animationName, int frameIndex);

//返回精灵是否需要更新
inline virtual bool isDirty(void) { return m_bDirty; }

//设置精灵是否需要更新
inline virtual void setDirty(bool bDirty) { m_bDirty = bDirty; }

//返回特克斯坐标、顶点坐标和颜色
inline ccV3F_C4B_T2F_Quad getQuad(void) { return m_sQuad; }

//是否旋转纹理所在的矩形
inline bool isTextureRectRotated(void) { return m_bRectRotated; }

//得到纹理索引
inline unsigned int getAtlasIndex(void) { return m_uAtlasIndex; }

//设置纹理索引
inline void setAtlasIndex(unsigned int uAtlasIndex) { m_uAtlasIndex = uAtlasIndex; }

//得到精灵的坐标
inline const CCRect& getTextureRect(void) { return m_obRect; }

//得到精灵引用
inline CCTextureAtlas* getTextureAtlas(void) { return m_pobTextureAtlas; }

//设置精灵引用
inline void setTextureAtlas(CCTextureAtlas *pobTextureAtlas) { m_pobTextureAtlas = pobTextureAtlas; }

//得到精灵偏移的位置
inline const CCPoint& getOffsetPosition(void) { return m_obOffsetPosition; }

//返回精灵是否快速翻转
bool isFlipX(void);

//设置精灵翻转
void setFlipX(bool bFlipX);

//判断精灵翻转
bool isFlipY(void);

//设置精灵翻转
void setFlipY(bool bFlipY);

protected:
void updateColor(void);
virtual void setTextureCoords(CCRect rect);
virtual void updateBlendFunc(void);
virtual void setReorderChildDirtyRecursively(void);
virtual void setDirtyRecursively(bool bValue);

CCTextureAtlas*     m_pobTextureAtlas;      /// CCSpriteBatchNode texture atlas (weak reference)
unsigned int        m_uAtlasIndex;          /// Absolute (real) Index on the SpriteSheet
CCSpriteBatchNode*  m_pobBatchNode;         /// Used batch node (weak reference)

bool                m_bDirty;               /// Whether the sprite needs to be updated
bool                m_bRecursiveDirty;      /// Whether all of the sprite's children needs to be updated
bool                m_bHasChildren;         /// Whether the sprite contains children
bool                m_bShouldBeHidden;      /// should not be drawn because one of the ancestors is not visible

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

0518416)]

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值