Cocos2dx对精灵的优化】的更多相关文章

cocos2dx针对游戏设计的不同方面会有不同的优化方案,可以对声音,对内存,对图片格式,对色彩等等进行优化.有关这些方面的方法请大家查找其他的文章.我今天要说的是如何对精灵进行优化,程序中我们用到的最多的就是精灵,大到背景.UI,小到 NPC.道具,只要是用图片展示的,都是精灵或它的子类.精灵是什么,在我看来精灵就是一张纹理图片,是按某种方式显示出来的图片.精灵如此的重要,我们当然要好好的优化优化了.我们可以减小精灵图片的大小,使用缓存Cache的方法将精灵提前加载到内存中,当有很多精灵的时候…
"数字口袋精灵app"优化 目录: 一.项目github总仓库推送 二.开发成员 三.分工与合作 四.各模块成果 五.团队成员贡献分 内容: 一.项目github总仓库: https://github.com/LiangZhilin/We-have-bing 二.开发人员: 223孙海林(商软2班) 225江志彬(商软2班) 256林集团(商软2班) 224颜文生(商软2班) 404曹嘉琪(商软1班) 142梁植淋(商软1班) 三.分工与合作: 林集团.颜文生:从开发者的角度出发,进一…
用处是减少对精灵的渲染次数,用法如下 SpriteFrameCache::getInstance()->addSpriteFramesWithFile("person.plist"); SpriteBatchNode *node = SpriteBatchNode::create("person.png"); bg->addChild(node); SpriteFrame *frame = SpriteFrameCache::getInstance()-…
转自:http://blog.csdn.net/ufolr/article/details/7447773 在cocos2d中,系统提供了CCMove.CCJump.CCBezier(贝塞尔曲线)等让精灵移动的action,但是有时候,为了让程序看上不不是那么的呆板,或者为了实现某些特定的功能,我们需要让精灵按照我们自己设定的路径(曲线运动)来移动.这就是这位篇文章我们需要讨论的话题. 自己开始也很纠结cocos2dx没有提供更多的action动作,比如说我们要做个抛物线什么的,虽然可以用贝塞尔…
通过前面的部署过程可以知道cocos2dx的开发过程如下: 1.VS2012完成修改 2.因为指定了CPP文件位置,ndk可以通过jni方式完成C++文件的编译,运行以下命令完成proj.android的编译: cd C:\ComputerScience\workspace-cocos\HelloWorld\proj.android python build_native.py 3.将编译好的安卓项目导入到Eclipse进行编译和运行 但是上面这些步骤都是在官网工具包下面运行的,交叉编译一次耗时…
在cocos2d-x里面  想要把一个精灵从原位置移动到用户所触摸到的点 , 并且把精灵的方向旋转相对应的弧度,可以参考一下我的做法 我这里的精灵是用一条鱼, 用户触摸后鱼就移动到所触摸的点, 并且移动开始时鱼头的方向已经向着所触摸的点 下面是详细做法 首先  h文件申明重写CCLayer里面的四个方法 : virtualvoid registerWithTouchDispatcher(void); virtualbool ccTouchBegan(CCTouch *pTouch,CCEvent…
转自:http://blog.csdn.net/tyxkzzf/article/details/38703883 CCSprite* getHighlightSprite(CCSprite* normalsprite) { if ( !normalsprite) { return CreateDefaultSprite(); } //CCSprite转成CCimage CCPoint p = normalsprite->getAnchorPoint(); normalsprite->setAn…
序言 回想cocos2dx,之前在mac+Xcode平台学习了一遍cocos2dx,一年时间不接触cocos了.一直在搞Unity3d.如今还是就之前所学温故温故,但不再用Xcode来写.用经常使用的Windows+VS2012做为开发环境来回想cocos2dx.从CCSprite精灵类開始回想起. CCSprite多种创建方式 创建CCSprite精灵类有好多中方式,好多构造函数,这里列举集中创建形式.包含要显示某个部分和缓存帧,2D贴图创建和普通创建等. if ( !CCLayer::ini…
1.创建精灵框架缓存,并向其中添加相应的动画文件(plist),最后,通过动画集缓存生产动画 CCSpriteFrameCache *cache = CCSpriteFrameCache::sharedSpriteFrameCache(); cache->addSpriteFramesWithFile("animations/grossini.plist"); cache->addSpriteFramesWithFile("animations/grossini_…
void HelloWorld::ccTouchMoved(cocos2d::CCTouch *touch, cocos2d::CCEvent *event) { CCSize winSize = CCDirector::sharedDirector()->getVisibleSize(); if (m_ship) { CCPoint pos = touch->getDelta();//获取触点当前位置与较早前的位置的差距 CCPoint currentPos = m_ship->get…
创建动画一般过程: 1.创建精灵框架缓存,并向其中添加相应的动画文件(plist),最后,通过动画集缓存生产动画 CCSpriteFrameCache *cache = CCSpriteFrameCache::sharedSpriteFrameCache(); cache->addSpriteFramesWithFile("animations/grossini.plist"); cache->addSpriteFramesWithFile("animations…
1.当我们需要某个精灵作为一个大一点的容器来存放其他的小精灵的时候,我们先设置这个精灵的大小 setTextureRect(Rect(0, 0, babySize.width, babySize.height)); 但是这个会自动用白色来填充这个精灵的颜色 2.这时候就需要用这个方法,当为数值为0的时候是完全透明,为255则是完全不透明 setOpacity(0); 3.之后可以再设置它的锚点 setAnchorPoint(Vec2(0,0));…
精灵(Sprite)是游戏里面的角色,比如敌人,游戏里面运动的物体等等,所以精灵是游戏里面一个非常常见的概念,几乎无处不在.在Cocos2D-x里面精灵是用CCSprite类来进行表示的,它可以用一张图片或者一张图片的一块矩形部分来定义.我们可以通过下面的代码用一张图片资源创建一个精灵,然后把它添加到游戏中: CCSprite *b = CCSprite::create("cat.png"); b->setPosition(ccp(s.width * 0.5, s.height…
什么是精灵(CCSprite),在官网文档中是这么定义的 Sprites A cocos2d CCSprite is similar to sprites you find in other game engines. It is a 2D image that can be moved, rotated, scaled, animated, and undergo other transformations. Sprites (implemented using the CCSprite cl…
精灵(Sprite)是游戏里面的角色,比方敌人.游戏里面运动的物体等等,所以精灵是游戏里面一个很常见的概念.差点儿无处不在. 在Cocos2D-x里面精灵是用Sprite类来进行表示的,它能够用一张图片或者一张图片的一块矩形部分来定义. 在自己设计的MyScene类中,我写了六种经常使用精灵的出现方式. 各自是sp1,sp2,sp3,sp4.sp5.sp6. 上代码: bool MyScene::init() { Size size = Director::getInstance()->getW…
弱联网开发技术: libcurl 添加lib文件:libcurl_imp.lib  pthreadVCE2.lib 添加头文件:#include"curl/curl.h" curl_global_init(CURL_GLOBAL_ALL);//初始化 curl_global_cleanup();//结束执行 简单接口:easy interface  单线程会引起阻塞 //设定请求的网络地址 //向服务器读数据 CURL *easy_handle=curl_easy_init(); cu…
cocos2d-x 改变精灵图片的2种方法. 1. // 首先载入贴图集 CCSpriteBatchNode *spriteBatch=CCSpriteBatchNode::batchNodeWithFile("snake.png"); this->addChild(spriteBatch); CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("snake.plist&quo…
平台的转换,总是让我们不自觉的去寻找两者的相同处,不过Cocos2d-X的确对很多Object-C的特性进行了模仿性质的封装,使熟悉Object-C的人能够在其中看到很多类似的概念而感到亲切.            1:Property(特性)         虽然没有感觉到它有多大的意义,不过习惯了用Property而让编译器来创建getter和setter方法,还是可以在Cocos2d-X中找到类似的方法:         CC_SYNTHESIZE(int,level,Level);这个宏…
高并发大流量专题---3.前端优化(减少HTTP请求次数) 一.总结 一句话总结: 图片地图:使用<map><area></area></map>标签.图片地图允许你在一个图片上关联多个URL.目标URL的选择取决于用户单击了图片上的哪个位置. CSS Sprites:SS Sprites中文翻译为CSS精灵,通过使用合并图片,通过指定css的backgroud-image和backgroud-position来显示元素. 合并脚本和样式表:使用外部的js和…
目录 12.6 移动端渲染优化 12.6.1 渲染管线优化 12.6.1.1 使用新特性 12.6.1.2 管线优化 12.6.1.3 带宽优化 12.6.2 资源优化 12.6.2.1 纹理优化 12.6.2.2 顶点优化 12.6.2.3 网格优化 12.6.3 Shader优化 12.6.3.1 语句优化 12.6.3.2 状态优化 12.6.3.3 汇编级优化 12.6.4 综合优化 12.6.4.1 光影优化 12.6.4.2 后处理优化 12.6.4.3 精灵渲染优化 12.6.4.…
基本概念 基本功能:几何图形.变换.着色.光照.贴图 高级功能:曲面图元.光栅操作.景深.shader编程   状态机 先设置状态参数:多边形.顶点列表.填充颜色.纹理.混合模式.坐标系 再调用绘图指令 如果没有设置新参数,会一直用当前的状态来绘图,所以是有状态的   OpenGL可以分为客户端和服务端,客户端可以是cpu或主机,服务端是gpu或另一台主机 客户端发送绘图指令,服务端负责绘制渲染,尽量在客户端完成工作,只发送必要数据到服务端,减少传输压力   开启/关闭绘图特性   GL_API…
iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面.令人惊叹的功能,以及超强的稳定性,已经成为iPhone.iPad 和iPod touch 的强大基础:iOS 内置的众多技术和功能让 Apple设备始终保持着遥遥领先的地位. iOS学习路线:http://www.mobiletrain.org/page/ios.html 课程分  类 课程模块 模块介绍 课程内容 Part1C语言 C语言和Objective-C语言 C语言 Mac系统及常用工具.进制:C数据…
让子弹飞是我非常喜欢的一款游戏.今天的目标就是利用cocos2dx 3.0 和box2d 打造一款这样的类型游戏的Demo版.本来cocos2dx 3.0 已经封装了physicals模块,可是我在使用的过程中遇到了一些问题,比方子弹速度过快时候会出屏等,所以就认为还是直接封装box2d API来完毕这款Demo. 我主要封装了两个类,一个叫Box2dHandler, 这个类继承自Node和b2ContactListener, 是用来和box2d打交道的.能够用来创建方形,圆形的静态或者动态刚体…
https://blog.csdn.net/lly20000/article/details/79774755 step.1 准备工具 1.adb连接工具(我用的cofface adb  ) [cofface]adb基于最新安卓源码编译修改,兼容其它助手,增加参数,支持识别所有机型 工具详情:http://blog.cofface.com/archives/569.html 下载地址:http://pan.baidu.com/s/1qX3XQDA 2.Adreno Profiler 基于硬件层面…
写在前面 去吧!皮卡丘!小时候拥有一台任天堂是多少熊孩子的梦想,每个夜晚被窝里透出的微弱光线,把小小的童年带入另一个世界,家门口的鸟和狗,森林里的虫和瀑布,山洞里的超音蝠,带着小小的梦,走过一个个城市,一路冒险,飞天潜水,攀瀑碎岩,所向披靡.每个醒来的清晨,都恍如出门冒险的那天~ 要做什么 基于开放地图二次开发,完成简易像素版PokemonGo 准备工作 一.确定功能需求 第一阶段 1.用户体系2.背包3.图鉴4.人物定位5.精灵分布6.精灵捕捉7.排行榜8.移动随机事件9.新手引导 第二阶段…
转自 http://blog.csdn.net/tonny_guan/article/details/41016241 Cocos2d-x优化中纹理优化 1.纹理像素格式纹理优化工作的另一重要的指标是纹理像素格式,能够最大程度满足用户对保真度要求的情况下,选择合适的像素格式,可以大幅提高纹理的处理速度.而且纹理像素格式有与硬件有这密切的关系.下面我们先了解一下纹理像素的格式,主要的格式有:RGBA8888.32位色,它是默认的像素格式,每个通道8位(比特),每个像素4个字节.BGRA8888.3…
自身以前也写过cocos2d-x如何优化内存的应用,以及内存不够的情况下怎么样处置惩罚游戏.今天在微博中看到有友好简介了下内存,挺详细的.不晓得是谁写的,我纪录下. 一,IOS与图片内存 在IOS上,图片会被积极缩放到2的N次方大小.例如一张1024*1025的图片,占用的内存与一张1024*2048的图片是一致的.图片占用内存大小的共计的公式是:长*宽*4.何等一张512*512 占用的内存即是 512*512*4 = 1M.其他尺寸以此类推.(ps:IOS上支持的最大尺寸为2048*2048…
由于背景图片长时间在场景中保存,而且图片很多,我们可以对其进行一些优化.我们通过如下几个方面考虑优化:1.不要Alpha通道背景图片的特点是不需要透明的,所以纹理格式可以采用不带有Alpha通道格式,所以RBG565格式比较适合背景图片.2.拼图背景图片与其它的图片纹理格式的不同,我们在创建精灵表的时候,没有办法将RBG565格式的背景图片与其它的纹理图片(如:RGBA4444)做在一个精灵表,所以基于格式的考虑我们可以将多个背景放置在一个精灵表中的,但是要注意这个精灵表拼接成的大图文件不能太大…
在2D游戏中图片无疑是最为重要的资源文件,它会被加载到内存中转换为纹理,由GPU贴在精灵之上渲染出来.它能够优化的方面很多,包括:图片格式.拼图和纹理格式等,下面我们从这几个方面介绍一下图片和纹理的优化.1.选择图片格式要回答这个问题,我们需要先了解一下目前在移动平台所使用的图片文件格式,以及这些图片格式Cocos2d-x是否支持.图片格式有很多,但是在移动平台主要推荐使用的PNG,JPG也可以考虑,而其它的文件格式最好转化成为PNG格式.我们先了解一下它们的特点.1.PNG文件PNG文件格式设…
Published on 2013 年 2 月 4 日, by donglin http://blog.chukong-inc.com/index.php/2013/02/04/%E5%A6%82%E4%BD%95%E4%BC%98%E5%8C%96cocos2d-x%E6%B8%B8%E6%88%8F%E7%9A%84%E5%86%85%E5%AD%98/ 在游戏项目优化中都会碰到一个问题,如何既能减少内存又能尽量减少包的大小?在实际项目中有些经验分享一下,事实上2D游戏中最占内存的就是图片资…