COCOS学习笔记--精灵Sprite的3种创建方法总结

来源:互联网 发布:js获取unix时间戳 编辑:程序博客网 时间:2024/06/14 19:41

精灵是我们在cocos开发中经常会接触到的概念,我们在cocos中对图形图像进行控制都是通过精灵来完成的。我们可以把精灵理解为一个显示图片的载体,被它加载显示的既可以是单图片也可以是序列帧图片。同时,我们还可以控制它的位置、颜色、大小等属性。

精灵Sprite的创建方法主要可以归纳为3种,这里就进行一下总结:

 

方法一.使用create()方法通过图片直接创建精灵

我们看一下cocos源码:

//不通过任何纹理创建一个空的精灵对象。//可以在随后调用setTexture方法设置纹理static Sprite* create(); //通过一个 image文件名来创建一个精灵对象//创建之后,精灵的大小就是image的大小static Sprite* create(const std::string& filename);    //通过一个多边形信息来创建一个精灵对象static Sprite* create(const PolygonInfo& info); //通过一个 image文件名来创建一个精灵对象//rect指定这个精灵的位置和大小static Sprite* create(const std::string& filename, const Rect& rect);

举个栗子:

auto sprite  =  Sprite::create(“MyImage.png”); this ->addChild(sprite);


方法二.使用createWithTexture()方法通过纹理创建精灵

cocos源码:

//通过一个Texture2D对象来创建一个精灵对象//创建之后,精灵的大小就是texture的大小static Sprite* createWithTexture(Texture2D *texture); //通过一个Texture2D对象来创建一个精灵对象//rect指定这个精灵的位置和大小//rotated是否需要旋转这个精灵,逆时针旋转90度static Sprite* createWithTexture(Texture2D *texture, const Rect& rect, bool rotated=false);

举个栗子:

auto sprite  =  Sprite::createWithTexture(TextureCache::getInstance()->addImage(“MyImage.png”)); this ->addChild(sprite);

方法三.使用createWithSpriteFrame()方法通过精灵帧创建精灵

cocos源码:

//通过一个精灵帧来创建一个精灵对象//精灵帧中包含一个纹理和其位置、大小等信息tatic Sprite* createWithSpriteFrame(SpriteFrame *spriteFrame); //通过一个精灵帧名字来创建一个精灵对象//通过精灵帧名字从帧缓存SpriteFrameCache中取出精灵//如果精灵帧在帧缓存中不存在会引发一个异常static Sprite* createWithSpriteFrameName(const std::string& spriteFrameName);

举个栗子:

//首先创建一个精灵帧//参数为显示区域大小左下右上auto spriteFrame  =  SpriteFrame::create(“MyImage.png”,Rect(0,0,774,490));//通过精灵帧创建精灵auto sprite = Sprite::createWithSpriteFrame(spriteFrame); this ->addChild(sprite);

 

 

 


以上。


 

3 0
原创粉丝点击