现在的位置: 首页 > 综合 > 正文

使用cocos2d-x轻微山寨DNF,第一部分:准备工作

2013年10月06日 ⁄ 综合 ⁄ 共 1133字 ⁄ 字号 评论关闭

第一步,先抠图,到网上随便找了个鬼剑天空套的gif图,解成png如下图

可惜这套图里没有主角受伤和死亡的动作,无所谓啦,英明神武的主角很NB的就是。

第二步,把这些图用texturepacker打包

但在这步前,要记住这写个png的编号,我特意把他们先拆分成文件夹就是这个目的。

1-8是1号攻击动作,9-20是2号攻击动作,21-30是3号攻击动作,待机是31-36号动作,奔跑是37-44号动作。

走路那个动作忒鸡肋了,就不做了,没啥用。

分完动作以后就该用Texturepacker打包了。这里需要普及一下知识,为何要用TP打包。OpenGL有个神奇的特性,它的数据结构存储的图片只能是2的幂次方,也就是说,129*127大小的图片,实际占用的内存空间是256*128,但很多的图片都是非常不规则的,例如这套鬼剑的PNG,297*185,非常神奇的尺寸,如果单独每张存,就是512*256,非常占地方,TP把所有的图片打包到一张图片上,尽可能让图片的使用率最高,防止宝贵的内存浪费。

TP打包很简单,把文件夹往TP工作区一拖,选择文件名,然后publish就行

打完包后的图片,

解释下这三个文件,最下面那个是TP的资源文件,有点类似与PSD,总之以后想编辑,打开它就行。

swordMan.png,是合并后的文件,尺寸是令人happy的1024*1024,很紧凑。

swordMan.plist,则是描述这些图分别是合并前的图片集,里面写了一大堆路径,大家要是好奇打开看看就了解了。

/*

注意,这是最土鳖的一种实现方式,真实的DNF的实现机制远比这复杂的多,为了实现换装系统,DNF将所有能换装的部分全部拆碎,然后用类似与xml的文件存储对应的动作坐标,大家有兴趣可以看看这个网站,http://bbs.exrpg.com/thread-106989-1-1.html,基本就可以对DNF的实现方式会有一定了解了。

*/

 

下面开始程序设计阶段,在本步里,我们只实现最基本的一个功能,即,一个主角站在场景里。

 

1.    场景类

2.    鬼剑类

注意,上面这两位类同学基本没考虑抽象的情况,只是为了最简单粗暴的完成功能,今后我们会对他们做一些改良,以使他们适应社会主义现代化的需要。

 

场景类:直接用helloworld好了,我直接去找一张经典的酒吧场景图(整图),直接把原先helloworld的图替换掉就好了。

鬼剑类:这个稍微麻烦些,现在我们来一起想象一下这个类的情况

第一,它应该是一个CCNode类的子类,然后在场景类初始化时,脸皮很厚的把自己嫁接在场景上,

第二,它在自己初始化时,应该初始化一个动画,永远重复的动画,并且在场景中反复播放这段动画。

忒困了,明天把这段土鳖代码发上来。

抱歉!评论已关闭.