位置: 编程技术 - 正文
推荐整理分享Cocos2dx技术(三)——cocos2dx基本概念(三)精灵(cocos-2dx),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:cocos2dx入门,cocos 2dx,cocos 2dx,cocos2d教程,cocos2dx入门,cocos2d教程,cocos2dx 教程,cocos2d教程,内容如对您有帮助,希望把文章链接给更多的朋友!
1、什么是精灵
精灵是一个2D图像,通过改变它的旋转、角度、位置、尺寸、颜色等属性可以使其运动或者变换。
2、创建精灵
可以通过不同式的图片(png,jpeg,tiff 等等)创建精灵。
auto mySprite=Sprite::Create("mysprite.png");
上面的代码在创建精灵时候使用了整张图片,也就是说,这种方式生成的Sprite显示的是一张图片文件的全部。如果Sprite只要显示一张图片文件的某个部分,那么可以使用Rect,但是需要注意的是Rect只能指定矩形区域。
auto mySprite=Sprite::Create("mysprite.png",Rect(0,0,,));//前面两个参数是确定相对左上角的起点位置,后面两个参数是确定相对左上角的终点位置。
注意:Rect是以左上角为坐标原点的,这与以左下角为原点的屏幕布局坐标不同!
在没有指定Rect的情况下,cocos2dx将自动使用指定图片之全部长宽来创建精灵。
3、使用Sprite Sheet创建精灵
Sprite Sheet是将多个精灵所需的图片合并到一个文件的方法。相对于把每个精灵所需的图片放在单独的文件中,这种集中存放图片的方式更节省内存,减少了文件大小,加载速度更快。
创建Sprite Sheet可以借用专用工具:Cocos Studio 或者 Texture Packer 或者 Zwoptex
SpriteFrame对象包含一个图片文件名(这个图片不一定是单独存储的,也可以是plist文件中的局部图片)和一个指定精灵尺寸(Rect)的对象,SpriteFrameCache是一个缓存SpriteFrame的类。使用SpriteFrameCache可以避免重复加载SpriteFrame。
auto mySpriteCache = SpriteFrameCache::getIstance();
mySpriteCache -> addSpriteWithFile("sprites.plist"); // 将Sprite Sheet 加载到SpriteFrameCache
// 将plist文件加载进缓存之后,从SpriteFrameCache中获取精灵有如下两种等价方式,这两种方式加载的图片都是来自"sprites.plist"文件
//第一种方式
auto mySprite1 = Sprite::createWithSpriteFrameName("mySprite1 .png");
//第二种方式
auto mySpriteFrame = mySpriteCache -> getSpriteByName("mySprite2 .png");
auto mySprite2 = Sprite::createWithSpriteFrame(mySpriteFrame );
4、控制精灵
可以通过设置锚点和位置、角度、缩放、倾斜来控制精灵的位置和姿态
可以通过设置颜色和透明度来改变精灵的色彩
综上,受锚点影响的属性有:位置、角度、缩放、倾斜;不受锚点影响的属性有:颜色、透明度
cocos2dx 跟随光线效果实现 在实际游戏编程中,有很多效果是需要自己编程实现而非帧动画,特别是可通过参数控制效果的动画。此篇文章主要说明下《忍者必须死》流线光效果
《Cocos2d学习之路》十、网络请求HttpClient,Socket,WebSocket 转载请说明出处:
Cocos2dx技术(三)——cocos2dx基本概念(六)控件库 cocos2dx提供了一套易于使用的控件库来满足开发者的GUI需求。cocos2dx控件大致可分为两种,第一种是非继承自Widget类的早期控件库;第二类是新的继承自W
标签: cocos-2dx
本文链接地址:https://www.jiuchutong.com/biancheng/368841.html 转载请保留说明!上一篇:2015-04-04---CCAction详解(欠了大家好几天了)
下一篇:《Cocos2d学习之路》十、网络请求HttpClient,Socket,WebSocket(cocos2dx视频教程)
友情链接: 武汉网站建设