[cocos2dx]可视元素——CCSprite精灵类

前端之家收集整理的这篇文章主要介绍了[cocos2dx]可视元素——CCSprite精灵类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

CCSprite精灵是整个游戏开发处理的主要对象包括主角和敌人、NPC等,甚至随机飘过的一片云或飞鸟从技术上讲也是精灵,因为精灵在cocos2d-x中,就是一个可以不断变化的图片,这些变化包括位置变化,旋转、放大缩小和运动等。

Sprite类继承关系


精灵实际上可以说就是游戏中的主角,游戏中我们可操作的人物、宠物等待。我们所看到的精灵本质上就是一个静态的二维图。在Cocos2d-x里面精灵是用Sprite类来进行表示的,它可以用一张图片或者一张图片的一块矩形部分来定义。

精灵创建

精灵提供了多个创建方式,具体如下
  1. //创建一个无纹理Sprite,可以在创建后调用setTexture方法设置纹理。 更多...
  2. static Sprite* create();
  3.  
  4. //指定图像文件名创建Sprite
  5. static Sprite* create(const std::string& filename);
  6.  
  7. //指定图像文件名及Rect参数创建Sprite
  8. static Sprite* create(const std::string& filename,const Rect& rect);
  9.  
  10. //指定Texture2D纹理对象创建Sprite
  11. static Sprite* createWithTexture(Texture2D *texture);
  12.  
  13. //指定Texture2D纹理对象及Rect参数创建Sprite
  14. static Sprite* createWithTexture(Texture2D *texture,const Rect& rect,bool rotated=false);
  15.  
  16. //指定Sprite帧(SpriteFrame)创建Sprite
  17. static Sprite* createWithSpriteFrame(SpriteFrame *spriteFrame);
  18.  
  19. //指定Sprite帧名称创建Sprite
  20. static Sprite* createWithSpriteFrameName(const std::string& spriteFrameName);

[cocos2dx-lua]Cocos2dx-Lua中Sprite精灵的3种创建方法

初始化相关

  1. //对未初始化的空Sprite执行初始化操作
  2. virtual bool init(void);
  3.  
  4. //指定Texture2D纹理初始化Sprite,精灵大小即是纹理大小
  5. virtual bool initWithTexture(CCTexture2D *pTexture);
  6.  
  7. //指定Texture2D纹理对象及Rect参数初始化Sprite
  8. virtual bool initWithTexture(CCTexture2D *pTexture,const CCRect& rect);
  9.  
  10. //指定Texture2D纹理对象、Rect参数及是否旋转初始化Sprite
  11. virtual bool initWithTexture(CCTexture2D *pTexture,const CCRect& rect,bool rotated);
  12.  
  13. //指定SpriteFrame初始化Sprite,SpriteFrame中的纹理(texture)和Rect参数将被用于此Sprite
  14. virtual bool initWithSpriteFrame(CCSpriteFrame *pSpriteFrame);
  15.  
  16. //指定Sprite帧名称初始化Sprite
  17. virtual bool initWithSpriteFrameName(const char *pszSpriteFrameName);
  18.  
  19. //指定图像文件初始化Sprite
  20. virtual bool initWithFile(const char *pszFilename);
  21.  
  22. //指定图像文件名及Rect参数初始化Sprite
  23. virtual bool initWithFile(const char *pszFilename,const CCRect& rect);

属性相关


  1. //设置节点的缩放(x)
  2. virtual void setScaleX(float fScaleX);
  3. //设置节点的缩放(y)
  4. virtual void setScaleY(float fScaleY);
  5. //设置节点的缩放(x,y)
  6. virtual void setScale (float scaleX,float scaleY);
  7. //设置节点在它父节点坐标系中的位置
  8. virtual void setPosition(const Vec2& pos);
  9. virtual void setPosition(float x,float y);
  10. //设置节点的旋转(angle)角度
  11. virtual void setRotation(float rotation);
  12. //设置节点X轴的旋转角度,表现为水平旋转倾斜
  13. virtual void setRotationSkewX(float rotationX);
  14. //设置Y轴节点的旋转角度,表现为垂直旋转倾斜
  15. virtual void setRotationSkewY(float rotationY);
  16. //改变该节点X轴的倾斜角,单位是度
  17. virtual void setSkewX(float sx);
  18. //改变该节点Y轴的倾斜角,单位是度
  19. virtual void setSkewY(float sy);
  20.  
  21. //Node对象的属性
  22. //从容器中删除一个孩子,取决于cleanup参数同时会清除所有的活动的动作
  23. virtual void removeChild(Node* child,bool cleanup);
  24. //从容器中删除所有的孩子,取决于cleanup参数同时会清除所有的活动的动作
  25. virtual void removeAllChildrenWithCleanup(bool cleanup);
  26. //对一个孩子重新排序,设定一个新的z轴的值
  27. virtual void reorderChild(Node *child,int zOrder);
  28. //在绘画之前,排列所有的孩子数组一次,而不是每次添加或者删除子节点时都排序。 这个方法可以大量地提高性能
  29. virtual void sortAllChildren();
  30. //添加一个子节点到容器中
  31. virtual void addChild(Node *Child);
  32. virtual void addChild(Node *child,int zOrder,int tag);
  33. virtual void addChild(Node *Child,int tag);
  34.  
  35. //设置位置的“z”轴坐标系,是OpneGL Z 定点值
  36. virtual void setVertexZ(float fVertexZ);

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