去年三四月份,花了将近两个月的时间,做了一个简陋的塔防游戏,三种怪物,三种塔,自己真的学到了很多很多。策划美术加程序都是自己一个人在做,所以构思变化很大,程序一直在完善,中间美术也彻底换了一套,用了那时很火的保卫萝卜的素材。最终经大神指点,决定推翻重写,按照自己现有的合理构思逻辑重新写一遍,因为在之前版本上得修改好多地方,一直不忍删除自己辛辛苦苦敲的代码。然而,没有做多少,只实现了一个怪物按照指点路线setposition进行移动,而不是之前的runaction,再加一种塔(炮弹塔)进行攻击,也顺便尝试了几种新的方法,之后,就停下了这个项目,或忙做实验室其它的项目,或没有太大的动力继续做下去。后来,面临毕设选题之际,决定借此重新整理一下这个项目,所以找了自己熟悉的老师,报上了这个题目,塔防游戏的设计。老师偏向于算法的设计,所以后续会着手研究一下算法,这也是之前没有做过的。
这就是我的塔防的游戏界面,有三个地图关卡设计。
1、改变enemy的run函数,由moveto改成setposition
2、便便塔攻击后,gun瞄准的位置出现错误,建议将gun的瞄准和怪物的速度建立联系(需要实现第一步)
3、完善便便塔的攻击,由暂停怪物改成减速(需要实现第一步)
4、便便塔攻击时缺少塔的发射动作(帧动画,还未解决)
5、加入怪物攻击塔的功能
6、将菜单做的更加好看
7、声音没有出现重音(未解决)
8、将怪物改成数据化操作
这是之前的一些需要修改的地方,其实还有一些不是很完善,比如,炮弹塔只有一个移动瞄准的动作,攻击时没有帧动画,这个研究了很多,一直没有实现,现在间隔那么久了,是时候看看自己的水平有没有提高了。
整理一下思路:
1. 老版本怪物的出现都是由定时器完成,一个怪物一个定时器,包括怪物的运动也是,塔的攻击也是这样的,这样的话,场景中存在好多的定时器。明显这是不合理的,后来大神说应该在主场景中开一个定时器,遍历所有的怪物和塔,这样一个定时器就搞定了。这个方法已经实现成功了。
2. 之前没有用ccspritebatchnode,所以怪物和塔越多,渲染的也就越多,场景就会卡了,但是由于我设计的是塔的攻击效果是加载在怪物身上的,也就是说,当子弹打在怪物身上时,会出现攻击的火花,如果把怪物封装进ccspritebatchnode中,那也得把攻击效果也打包进去,这样就又出现不合理的地方了,目前还未试过其它方法,期待后续解决。
3. 塔只有旋转瞄准的动作,没有攻击的动作,需要完善。
4. 怪物是开启定时器出现的,应该读取配置出现,这个目前也已经实现了,不过仅仅只是改变了出现的时间,还未加进其它属性。
就先按照自己的思路一步一步去实现,寒假回家希望能多学点多做点,不过家里没网,博客更新就会延缓一下,逼迫自己提前写好word文档。