红孩儿Cocos2d-X学习园地:249941957 加群写:Cocos2d-x
本章为我的Cocos2d-x教程一书初稿。望各位看官多提建议!
转载请注明来源:红孩儿的游戏编程之路 CSDN博客
Cocos2d-x游戏开发之图片元素
之前写的博文《将Cocos2d-X嵌入MFC的子窗体方法讲解》一文点击量不错,受到了一些朋友的欢迎。红孩儿在长期的游戏研发工作中,制作了不少各式各样的工具,这些工具极大的规范了游戏开发的流程,提高了游戏开发的效率和质量。所以红孩儿很重视工具的开发。这两天CocoaChina开发者大会在北京开幕,触控科技CEO刘冠群的演讲主题就是“事半功倍的移动游戏开发工具”。这一点红孩儿是很赞同的。现在开发一个游戏,拼的是创意,更是速度。有创意,但你开发的很慢,等的花儿都谢了才开发出来,当时的创意已经落后。所以,要快,有了创意,就要以很快的速度开发出来。目前像Unity3d这样的商业引擎就含有强大的工具箱,而Cocos2d-x目前仍然没有很棒的集成化工具。
就在昨天,红孩儿遇到一个Cocos2d-x的开发者网友,他们现在做一款游戏,地图在iphone上触屏移动时会有明显卡顿感,经过了解,他们的地图是几张很大的图片拼成的,没有使用地图编辑器来进行小物件图的拼接方案,所以一定会很慢。正确的做法是将场景中的各个地表,建筑,植被进行分类,然后定下大小规格,制做小图,将这些小图尽量拼合到一个合适大小的图上如(512x512或1024x1024)。然后在场景编辑器选择相应的图块,编辑到地图上。这样实际载入的图片很少,占用的显存少,渲染就快多了。(注:Cocos2d-x内部的数据组织和实现方式可以参看红孩儿上往篇"Cocos2d-x中图字原理之深入分析"一文,Cocos2d-x提供的两个类非常重要:(1)CCTextureAtlas(2)CCSpriteBatchNode。了解了这两个类就能够清楚它内部是怎么实现的)。
举个栗子,下面这张图是红孩儿制做的一款45度角的2D地图编辑器中的一个截图。里面载入的是一张地图。因为红孩儿只有很少资源图片,所以做的场景很简单,不过已经能说明问题了。
游戏用到的图片按分类只有2张:
一。地表:(这个是两种草地,其实可以多一些类型,但红孩儿没有找到太多美术图片)
二。植被
我们看到。不管地图做多大,你都可以只用很少的几张图就可以实现,即减少了图量,又减少了渲染时的纹理切换。对效率提升很明显。
要做到这样。一定要首先制定游戏美术制作规范。讨论包括哪些类型的图形元素,需要提供给美术的拼图工具的功能和界面说明,以及地图编辑器的功能和界面说明。
目前流行的拼图工具有
TexturePacker下载网址:www.texturepacker.com/
不过这个工具并不是免费的,所以如果只是简单做下拼合也可以自已开发工具进行拼合,难度并不大,原理:取得图片的大小进行排序,用仓库算法进行计算将图片大小的矩形尽量多的放进设定大小的大矩形中,最后将图片上的像素拷到大图的相应位置中保存出来就可以了。
流行的地图工具是:Tiled MapEditor
下载地址:mapeditor.org/
当然,这个工具红孩儿认为其实仍然有很多地方不能满足需要。红孩儿还是建议如果是有时间和资金的团队还是尽可能开发自已的地图编辑器,其主要难度还是地图的数据组织及显示。原理可参看红孩儿09年末的一篇博文:http://blog.csdn.net/honghaier/article/details/4964527
本篇博文暂先做一些理论启蒙,故主要以推荐使用网上的工具。后面会不断推出各种工具的制作教程,敬请期待~
分享到:
相关推荐
原价值1280元的项目实战_游戏编程超级玛丽(基于Cocos2d-x技术实现)课程,本系列课程分为四个实战项目: 1、<打飞机>:在还原微信《打飞机》的基础上,增加了道具,选择飞机,敌人射击等等更丰富的玩法。 2、<宝石...
《cocos2d-x高级开发教程:制作自己的[捕鱼达人]》以《捕鱼达人》游戏为案例,全面系统地讲解了cocos2d-x 的功能与特性,以及进行游戏开发的基本思路,包括游戏框架的搭建、基本游戏元素的使用、动作、音乐与音效、...
Cocos2d-x 休闲类游戏《坦克联萌》源码 说明: 《坦克联萌》继承了经典坦克大战的核心玩法 以消灭所有敌方坦克为终极目标,享受在敌军坦克群中自由穿梭,消灭敌人的快感。 《坦克联萌》关卡元素更加丰富,玩法更多样...
cocos2d资料大全,里面有丰富的资源,游戏引擎是一种特殊的软件,它提供游戏开发时需要的常见功能;...只使用 Cocos2d-x 引擎,你就能完成一款游戏的开发,因为 Cocos2d-x 提供了游戏开发所需的一切。
目前移动平台最火爆收入最高的几款游戏,如月收入超过千万的捕鱼达人2、龙之力量、忘仙OL、神仙道等均是基于Cocos2d-x开发。多款下载量千万次以上的知名手机游戏。如捕鱼达人、口袋商业街、小小村庄、云和绵羊、三国...
编辑器中能设计静态展示的UIScrollView,而...插入元素的位置怎么确定?在3.0中UILayout已经实现了基本的布局,这个例子则是一个简单的实现。相关博客地址:http://blog.csdn.net/fansongy/article/details/17382049
我们有了UI交互、有了动画人物、有了物理模拟,还差最后一步——将这些元素融合起来。这次我们使用cocoStudio中的场景编辑器,将先前做过的所有东西都放到一个场景中去。相关博客:...
菜单是我们在开发中经常用到的元素,cocos2d-x中的菜单基本上是分装了文本类和精灵类,代码注释有详细的说明,看代码吧! bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::...
引擎版本:3.2 开发工具:vs2012测试说明:基于cocos2d-x3.2和vs2012测试添加库GUI,cocostudio,Extensions如编译失败,右击属性->配置属性->C/C++->常规->附件包含目录,新增行:$(EngineRoot)cocos\editor-...
使用条件:目前能用v1.1.3,其他过期了自述马甲包的本质:阶段一减低重复率,本人开发初期的版本和当前城市表面的其他工具基本相似,主要是'名称'替换这一个基本的功能阶段二减少相似度(相同元素的正态分布),目前...