这次写一下精灵创建的几种类型:

一、通过文件创建:

在原有的基础上加入例如以下代码:

//一、通过文件创建精灵

CCSprite *bg =CCSprite::create("map.png");

CCSize winSize  =CCDirector::sharedDirector()->getWinSize(); //得到屏幕的尺寸

bg->, winSize.));

this->addChild(bg);

return
true;

执行:

背景图片被加入进来。。

二、通过帧创建:

//二、通过帧创建

,,,));

CCSprite *plant1 =CCSprite::createWithSpriteFrame(frame);

plant1->,));

this->addChild(plant1);

return
true;

执行:

能够看到在屏幕的草坪上有颗豌豆。。。

三、通过纹理创建:

//三、通过纹理创建

CCImage *image =newCCImage();

image->autorelease();

image->initWithImageFile("Peashooter1.tiff");

//创建OpenGL2d纹理图像从图片、文本或原始数据

CCTexture2D *texture =newCCTexture2D();

texture->autorelease();

texture->initWithImage(image);

CCSprite *plant2 =CCSprite::createWithTexture(texture);

plant2->,));

this->addChild(plant2);

return
true;

能够看到背景图片上多了一个小豌豆。。

四、通过精灵帧的缓存创建精灵:

创建之前先要下载 Zwoptex 这个软件,它的作用就是将非常多种图片合成一张图片和一个plist文件,打开软件点击creat

导入一些图片:

点击Layout自己主动布局

改变大小:

点击file以下的Publish Settings 来设置输出的路径和文件名称

点击Done 完毕我是保存到桌面,然后将这两个文件加入到project中去。

编写代码:

//四、通过帧缓存创建

CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("Person.plist");

CCSpriteFrame *frameCashe =CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("本.png");//创建帧

CCSprite *plant3 =CCSprite::createWithSpriteFrame(frameCashe);

plant3->,));

也能够这样创建:

CCSprite *plant3 = CCSprite::createWithSpriteFrameByName("本.png");

this->addChild(plant3);

return
true;

这样的方式创建的精灵非经常常使用。。。

执行:

能够看到 多出来一个图片。。。 这就是精灵创建的最主要的创建方法。

cocos2d-x ios游戏开发初认识(五) CCsprite精灵类的更多相关文章

  1. cocos2d-x ios游戏开发初认识(六) 渲染的优化

    做程序开发肯定要考虑到内存的优化,毕竟iphone本身的内存就不是非常大.这一节主要说这个cocos2d开发对内存的优化,详细表如今,既能够对同样的精灵(图片)仅仅渲染一次,也能够对不能的精灵仅仅渲染 ...

  2. cocos2d-x ios游戏开发初认识(九) 音效、粒子系统与存储

    我们知道.一个游戏少不了声音.一些好听的声音会提起你对游戏的兴趣,当然做好听的声音不是我们要学的,我们的目的是把声音在适当的时候放出来.顺便在这节中会说下简单的粒子系统和文件存储. 一.声音的播放: ...

  3. cocos2d-x ios游戏开发初认识(八) 触摸事件与碰撞检測

    玩过植物大战僵尸都知道,要在草坪里放一朵向日葵或者其他的植物仅仅需触摸那个植物将其拖入到想要摆放的位置,这事实上就是这节要写的触摸事件.还能够发现当我们的僵尸出来的时候,我们的小豌豆会发子弹攻击僵尸, ...

  4. 【Cocos2D研究院之游戏开发】

    http://www.xuanyusong.com/archives/category/ios/cocos2d_game 分类目录归档:[Cocos2D研究院之游戏开发]   201211-19 Co ...

  5. 开发者经验谈:如何一天时间搞定iOS游戏开发?

    开发者经验谈:如何一天时间搞定iOS游戏开发? 在一天时间里将完成iPhone游戏开发由梦想变为现实? 本文作者给出了从创意转变成现实的详细答案.使用苹果原生游戏引擎SpriteKit,遵循一定的原则 ...

  6. 《MFC游戏开发》笔记五 定时器和简单动画

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9332377 作者:七十一雾央 新浪微博:http:// ...

  7. iOS 11开发教程(五)iOS11模拟器介绍二

    iOS 11开发教程(五)iOS11模拟器介绍二 3.iOS11模拟器中设置语言 对于不同国家的人来说,使用到的语言是不一样的.一般情况下iOS11模拟器默认使用的English(英语).对于英文不好 ...

  8. ios游戏开发 Sprite Kit教程:初学者 1

    注:本文译自Sprite Kit Tutorial for Beginners 目录 Sprite Kit的优点和缺点 Sprite Kit vs Cocos2D-iPhone vs Cocos2D- ...

  9. ios游戏开发--cocos2d学习(2)

    在第一节中简单介绍了2d项目模板HelloWorld的基础代码,并做了一点小小的改变,像触摸接收.旋转.移动和颜色转变序列CCSequence的使用等等,2d本身封装好了很多方便使用的动作,只需要调用 ...

随机推荐

  1. Paip.断点调试MYSQL存储过程跟函数的解决方案大法

    Paip.断点调试MYSQL存储过程跟函数的解决方案大法 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn ...

  2. 6月19日 NSFileHandle文件类的常用方法

       NSFileManager类主要对文件的操作(删除,修改,移动,复制等):    NSFileHandle类主要对文件内容进行读取和写入操作    NSFileHandle处理文件的步骤     ...

  3. TCP的三次握手和四次挥手(转)

    注:主动.被动 与 服务器.客户端没有明确的对应关系. 这个图N多人都知道,它排除和定位网络或系统故障时大有帮助,但是怎样牢牢地将这张图刻在脑中呢?那么你就一定要对这张图的每一个状态,及转换的过程有深 ...

  4. Android中 Bitmap Drawable Paint的获取、转换以及使用

    比如Drawable中有一系列连续的图片,img_0.png, img_1.png, img_2.png ... 如果要动态获取这些图片,通过"R.drawable.img_x"的 ...

  5. Flexigrid去掉列选择

    Flexigrid中会出现列选择的小黑箭头,有时挺讨厌,想去掉.发现没有控制的地方,于是自己加. 在flexigrid.js中增加 在定义中增加 p = $.extend({ //apply defa ...

  6. iOS:获取图片Alpha图片

    -(void)createImages { // Load the alpha image, which is just the same Ship.png image used in the cli ...

  7. VC++实现位图显示透明效果--实现原理

    我们在进行程序的界面设计时,常常希望将位图的关键部分,也既是图像的前景显示在界面上,而将位图的背景隐藏起来,将位图与界面很自然的融合在一起,本文介绍了透明位图的制作知识,并将透明位图在一个对话框中显示 ...

  8. Linux多线程编程的时候怎么查看一个进程中的某个线程是否存活

    pthread_kill: 别被名字吓到,pthread_kill可不是kill,而是向线程发送signal.还记得signal吗,大部分signal的默认动作是终止进程的运行,所以,我们才要用sig ...

  9. 基于FPGA的红外遥控解码与PC串口通信

    基于FPGA的红外遥控解码与PC串口通信 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<电子设计EDA>的课程设计作业(呵呵,这个月都拿 ...

  10. Cocos2d-x layout (二)

    相对某个控件进行布局 Size widgetSize = Director::getInstance()->getWinSize(); Text* alert = Text::create(&q ...