精灵(Sprite)是游戏里面的角色,比方敌人。游戏里面运动的物体等等,所以精灵是游戏里面一个很常见的概念。差点儿无处不在。

在Cocos2D-x里面精灵是用Sprite类来进行表示的,它能够用一张图片或者一张图片的一块矩形部分来定义。

在自己设计的MyScene类中,我写了六种经常使用精灵的出现方式。

各自是sp1,sp2,sp3,sp4。sp5。sp6。

上代码:

bool MyScene::init()
{
Size size = Director::getInstance()->getWinSize();//屏幕的大小 Sprite *sp1 = Sprite::create("icon.png");
sp1->setPosition(Vec2(size.width*0.2,size.height*0.7));
this->addChild(sp1); Sprite *sp2 = Sprite::create("icon.png",Rect(10,30,28,28)) ;
sp2->setPosition(Vec2(size.width*0.4,size.height*0.7));
this->addChild(sp2); Texture2D *texture = TextureCache::sharedTextureCache()->addImage("icon.png");//创建2d纹理 Sprite *sp3 = Sprite::createWithTexture(texture);
sp3->setPosition(Vec2(size.width*0.6,size.height*0.7));
this->addChild(sp3); Sprite *sp4 = Sprite ::createWithTexture(texture,Rect(0,0,40,40));
sp4->setPosition(Vec2(size.width*0.8,size.height*0.7));
this->addChild(sp4); SpriteFrame *frame = SpriteFrame::create("icon.png",Rect(0,0,57,57)); Sprite *sp5 = Sprite::createWithSpriteFrame(frame);
sp5->setPosition(Vec2(size.width*0.3,size.height*0.3));
this->addChild(sp5); SpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("img.list"); Sprite *sp6 = Sprite::createWithSpriteFrame("icon.png");
sp5->setPosition(Vec2(size.width*0.3,size.height*0.3));
this->addChild(sp6); return true;
}
;

注意:cocos2d-x使用的是OpenGL
es绘制2d图形的,它的尺寸是2的n次方。

此外,经常使用的精灵类方法有:

setScale(float fScale);//缩放

setRotation(float fRotation);//旋转

setSkew(float s)。//倾斜

setAnchorPoint(const Point&another);//锚点设置                 setVisible(bool bvisible)。//是否可见

setColor(const cccolor3B&color3);//设置颜色

setOpacity(Glubvte Opacity)。//透明度设置,从0-255,0表示全然透明,255表示不透明

setTexture(CCTexture2D *texture);//更改图片

这些方法能够再代码中实现看看效果。方便自己的记忆。

本人cocos2dx 2.x和3.x的源代码淘宝地址(欢迎大家光顾):https://shop141567464.taobao.com/?spm=a313o.7775905.1998679131.d0011.aYDdAj

不懂的能够加我的QQ群: 239982941(cocos2d-x 3.1.1学习群

Cocos2d-x 3.1.1 学习日志7--7分钟让你了解cocos2d-x3.1.1 Sprite精灵类的更多相关文章

  1. GRE学习日志

    发现开博客园真的很有督促作用,今天也顺便开个GRE学习日志吧 2015-02-09:单词 2015-02-10:单词 2015-02-11:单词 2015-03-02:阅读 2015-03-04:阅读 ...

  2. Cortex-M3学习日志(六) -- ADC实验

    上一次简单的总结了一下DAC方面的知识,好吧,这次再来总结一下ADC方面的东东.ADC即Analog-to-Digital Converter的缩写,指模/数转换器或者模拟/数字转换器.现实世界是由模 ...

  3. Cortex-M3学习日志(五) -- DAC实验

    终于逮了个忙里偷闲的机会,就再学一下LPC1768的外围功能吧,循序渐进是学习的基本规则,也许LPC1768的DAC与8位单片机16位单片机里面集成的DAC操作类似,但是既然这是懒猫的学习日志,就顺便 ...

  4. webpack2学习日志

    webpack说容易也容易,说难也难,主要还是看个人,想学到什么样的程度,很多公司可能要求仅仅是会用就行,但是也有一些公司要求比较高,要懂一些底层的原理,所以还是要花一些时间的,看个人需求.这篇仅仅是 ...

  5. javascript学习日志:前言

    javascript学习日志系列的所有博客,主要理论依据是<javascript权威指南>(犀牛书第6版)以及<javascript高级程序设计第三版>(红色书),目前js行业 ...

  6. MobileForm控件的使用方式-用.NET(C#)开发APP的学习日志

    今天继续Smobiler开发APP的学习日志,这次是做一个title.toolbar.侧边栏三种效果 样式一 一.          Toolbar 1.       目标样式 我们要实现上图中的效果 ...

  7. 我的游戏学习日志3——三国志GBA

    我的游戏学习日志3——三国志GBA 三国志GBA由日本光荣公司1991~1995所推出<三国志>系列游戏,该作是光荣在GBA上推出的<三国志>系列作品的第一款.本游戏登场武将总 ...

  8. 【转】Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性

    [转]Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性 Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性

  9. composer的安装和使用 学习日志

    如果你做为一个phper,没有用过composer,那你真的不是一个合格的开发者.那么就来记录一下composer的学习日志 下面分享几个学习源头: composer中文网站:https://www. ...

随机推荐

  1. [Grunt + AngularJS] Using ng-annotate for min-safe AngularJS

    When you minify your code with a tool like Uglify, the resulting minified file will rename variables ...

  2. ant design pro (六)样式

    一.概述 参看地址:https://pro.ant.design/docs/style-cn 基础的 CSS 知识或查阅属性,可以参考 MDN文档. 二.详细介绍 2.1.less Ant Desig ...

  3. oracle 查询本周数据生成下周数据

      CreateTime--2018年1月4日16:38:01 Author:Marydon oracle 查询本周数据生成下周数据 第一步:查询指定区间数据 第二步:改变查询结果的值 查询日期字段+ ...

  4. 一次安装win10 ubuntu16.0经过记录

    步骤摘要 三个U盘: 1.制作WIN8 PE启动盘,使用的软件为“U深度装机版”,可自行百度下载 2.制作WIN10系统安装盘,使用UltraISO,这里使用的win10镜像为: 链接: http:/ ...

  5. mysql(表类型的选择)

    1.查询mysql所支持的存储引擎 第一种方法:show engines \G

  6. 迭代器类vector::iterator 和 vector::reverse_iterator 的实现、迭代器类型、常用的容器成员

    一.迭代器 迭代器是泛型指针 普通指针可以指向内存中的一个地址 迭代器可以指向容器中的一个位置 STL的每一个容器类模版中,都定义了一组对应的迭代器类.使用迭代器,算法函数可以访问容器中指定位置的元素 ...

  7. SEH, SAFESEH相关

    SEH, SAFESEH相关 1,触发seh异常让目标程序Read/Write无效地址,如果和栈底相邻的内存只读,尝试覆盖超出栈底 2,如何找到(显示)要覆盖的SEHod语法:dd fs:[0]sof ...

  8. C# params传递多个参数

    C#开发语言中 params 是关键字,可以指定在参数数目可变处采用参数的方法参数.在函数的参 数数目可变而执行的代码差异很小的时候很有用! params关键字表示函数的参数是可变个数的,即可变的方法 ...

  9. CentOS 安装 升级Firefox

    把旧版本的firefox卸掉: # yum erase firefox 然后安装新版本: # yum firefox

  10. C++ 基类指针和子类指针相互赋值

    首先,给出基类animal和子类fish [cpp] view plaincopy //======================================================== ...