Cocos2d-x_CCSprite(精灵类)介绍

前端之家收集整理的这篇文章主要介绍了Cocos2d-x_CCSprite(精灵类)介绍前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

精灵对象可以是游戏中的主角,也可以是汽车,也可以是一棵树。哪怕是一片树叶或者是一只鸟,都是一个精灵对象。从技术的角度来看,精灵对象就是一个可以不断变化的图片。精灵本身具备了一些特殊的属性,比如纹理、尺寸、翻转、透明度以及角度。

  1. /* CCSprite类对象创建函数 */
  2.  
  3. // 创建精灵对象
  4. static CCSprite *create();
  5. // 以图片文件来创建精灵对象
  6. static CCSprite *create(const char *pszFileName);
  7. // 以图片文件中一块区域来创建精灵对象
  8. static CCSprite *create(const char *pszFileName,const CCRect &rect);
  9. // 以精灵帧来创建精灵对象
  10. static CCSprite *create(CCSpriteFrame *pSpriteFrame);
  11. // 以精灵帧名字来创建精灵对象
  12. static CCSprite *createWithSpriteFrameName(const char *pszSpriteFrameFileName);
  13. // 以纹理图片来创建精灵对象
  14. static CCSprite *create(CCTexture2D *pTexture);
  15. // 以纹理图片中的矩形区域来创建精灵对象
  16. static CCSprite *create(CCTexture2D *pTexture,const CCRect &rect);

  1. /* CCSpriteBatchNode精灵集合 */
  2.  
  3. // 以纹理里创建一个精灵集合对象
  4. static CCSpriteBatchNode *create(CCTexture2D *pTexture,unsigned int capacity = 29);
  5. // 以图片文件来创建一个精灵集合
  6. static CCSpriteBatchNode *create(const char *fileImage,unsigned int capacity = 29);

  1. /* CCSpriteFrame精灵帧类的属性 */
  2.  
  3. CCPoint m_obOffset; // 偏移量
  4. CCSize m_obOriginalSize; // 纹理原始尺寸
  5. CCRect m_obRectInPixels; // 纹理像素尺寸
  6. bool m_obRotated; // 是否旋转
  7. CCRect m_obRect; // 矩形区域
  8. CCPoint m_obOffsetInPixels; // 像素单位的偏移量
  9. CCSize m_obOriginalSizeInPixels; // 像素单位的原始尺寸
  10. CCTexture2D *m_pobTexture; // 纹理对象
  11. std::string m_strTextureFileName; // 纹理名称

  1. /* CCSpriteFrame精灵帧对象的创建函数 */
  2.  
  3. // 以纹理对象中的矩形区域来创建精灵帧
  4. static CCSpriteFrame *create(CCTexture2D *pobTexture,const CCRect &rect);
  5. // 以纹理图片中的矩形区域来创建精灵帧
  6. static CCSpriteFrame *create(const char *fileName,const CCRect &rect);
  7. // 以纹理对象中的矩形区域来创建精灵帧,包含属性初始化参数
  8. static CCSpriteFrame *create(CCTexture2D *pobTexture,const CCRect &rect,bool rotated,const CCPoint &offset,const CCSize &originalSize);
  9. // 以纹理图片中的矩形区域来创建精灵帧,包含属性初始化参数
  10. static CCSpriteFrame *create(const char *fileName,const CCSize &originalSize);

  1. /* CCSpriteFrameCache精灵帧缓冲函数 */
  2. // 从plist文件中加载多个精灵帧
  3. void addSpriteFrameWithFile(const char *pszPlist);
  4. // 从plist文件中加载多个精灵帧,参数为纹理图片
  5. void addSpriteFrameWithFile(const char *plist,const char *textureFileName);
  6. // 从plist文件中加载多个精灵帧,参数为纹理对象
  7. void addSpriteFrameWithFile(const char *pszPlist,CCTexture2D *pobTexture);
  8. // 将按照参数中的名字添加一个精灵帧
  9. void addSpriteFrame(CCSpriteFrame *pobFrame,const char *pszFrameName);
  10. // 清除所有精灵帧对象
  11. void removeSpriteFrames(void);
  12. // 清楚未使用的精灵帧对象
  13. void removeUnUsedSpriteFrames(void);
  14. // 按照参数中的名字来清除精灵帧对象
  15. void removeSpriteFrameByName(const char *pszName);
  16. // 按照plist文件内容,来清除精灵帧
  17. void removeSpriteFramesFromFile(const char *plist);
  18. // 按照纹理对象来清除精灵帧
  19. void removeSpriteFramesFromTexture(CCTexture2D *texture);

  1. void HelloWorld::spriteHandle()
  2. {
  3. CCSprite *sprite = CCSprite::create("Icon-57.png");
  4. sprite->setPosition(ccp(75,150));
  5. this->addChild(sprite);
  6. // 旋转角度
  7. sprite->setRotation(100.0f);
  8. // 整体缩放
  9. sprite->setScale(0.5);
  10. // 对X轴缩放
  11. sprite->setScaleX(0.5);
  12. // 对Y轴缩放
  13. sprite->setScaleY(0.5);
  14. // 对X轴镜像
  15. sprite->setFlipX(true);
  16. // 对Y轴镜像
  17. sprite->setFlipY(true);
  18. // 设置透明度
  19. sprite->setOpacity(100);
  20. // 设置是否可见
  21. sprite->setVisible(true);
  22. // 设置锚点
  23. sprite->setAnchorPoint(ccp(1.0,1.0));
  24. // 设置颜色
  25. sprite->setColor(ccc3(100,100,100));
  26. }

猜你在找的Cocos2d-x相关文章