Sprite精灵类
创建Sprite精灵对象
创建精灵对象有多种方式,其中常用的函数如下:
- static Sprite* create()。创建一个精灵对象,纹理等属性需要在创建后设置。
- static Sprite* create(const std::string &filename)。指定图片创建精灵。
- static Sprite* create(const std::string &filename,const Rect &rect)。指定图片和裁剪的矩形区域来创建精灵。
- static Sprite* createWithTexture(Texture2D* texture)。指定纹理来创建精灵。
- static Sprite* createWithTexture(Texture2D* texture,const Rect& rect,bool rotated=false)。指定纹理和裁剪的矩形区域来创建精灵,第三个参数是否旋转纹理,默认不旋转。
- static Sprite* createWithSpriteFrame(SpriteFrame *pSpriteFrame)。通过一个精灵帧对象创建另一个精灵对象。
- static Sprite* createWithSpriteFrameName(const std::string &spriteFrameName)。通过指定帧缓存中精灵帧名创建精灵对象。
用纹理对象创建精灵:
从纹理中创建tree精灵:
tree1精灵
auto tree1=Sprite::create("tree1.png",Rect(604,38,302,295));
Rect是一个矩形类。包含两个成员属性:起始坐标(左下角)Vec2、矩阵尺寸大小Size。
tree2精灵
Texture2D* cache=Director::getInstance()->getTextureCache()->addImage("tree1.png");
auto tree2=Sprite::create();
tree2->setTexture(cache);
tree2->setTextureRect(Rect(73,72,182,270));
tree2->setPosition(Vec2(500,200));
this->addChild(tree2,0);