cocos2d-x游戏开发 跑酷(九) 源代码下载及小结

这个东西零零碎碎写了一个礼拜吧。

事实上也没多少东西在里面。文章后附下载地址

博客地址:http://blog.csdn.net/dawn_moon

由于我没用过chipmunk,并且它是面向过程的东西,情感上又不太愿意去研究,所以我用box2d来做了物理仿真。个人感觉box2d还是蛮好用的,它的作者非常牛逼的哦。暴雪娱乐的首席软件project师,box2d是他业余写的。国外的攻城狮都这么牛逼么。

我感觉我的代码组织的还算比較清楚的。复杂点的地方,我都写了一些简要的凝视。

事实上我不觉得一行代码一行凝视是一个好的风格。

由于我觉得,假设你的代码须要大量的凝视别人才看的懂的话。仅仅有两种可能,一是你实在太牛逼,已经是很人,一般人理解不了你的思想。所以要每行都加凝视;还有一种可能就是代码实在太烂,不多加点凝视自己都看不懂。我倾向于,假设要创建一个类。看名字就大概知道这个类是用来干嘛的,假设要写一个函数,看名字也应该能知道用来干嘛的。关于这方面,事实上C++先天就不足,这是语言设计的问题,相比Objective-C,简直弱爆了。有兴趣的能够去看下O-C。可是我还是尽量让代码看起来言简意赅。看名知意,仅仅能是尽量而已。

我十分讨厌在代码里看到突然冒出来的数字。你在看一个变量定义,结果它是由一个数字跟还有一个变量运算来取值的,这时候是不是有点莫名其妙,这数字哪儿来的?为什么要有一个这种数字在这里。这时候假设有点凝视,就好了,不然挺郁闷的。

在跑酷里面的ObjectManager类里面,加入金币的地方有一个定义

  1. float startX = coinOriginX - coinWidth / 2 * 11;  

呵呵,后面那个11。说实话我真不知道是怎么来的。假设是金币间隙的个数。那么应该是6。假设是一串金币的长度。那么应该是18。所以这里比較迷惑。

我在给精灵设置tag的时候也不会莫名其妙的直接用setTag(1)这样的方式。由于你要设tag,那么一定是要用这个tag。在你用的时候你也许会getChildByTag(1)。那么请问假设你看到这个取tag的函数,你知道它取的是个什么东西吗。

我的代码里面设置tag都会给这个tag取个名字,用个枚举来列出全部要设置的tag,在用的时候你就知道这个tag取出来的是个什么东西了。


我的代码已经上传到资源了,仅仅要一个积分哦。

一个比較好的调试方式是,你先下载泰然的JS版project,他那个连引擎都打包了,我是在那个project下做的二次开发。你仅仅须要把我的代码下载解压,替换到Classes文件夹下就可以。


这段代码我会收录到我的新书里面,到时候欢迎大家购买指正。

假设你没有积分。能够在本篇文章下留下你的邮箱,我定期来检查发送给你。


代码下载地址:http://download.csdn.net/detail/fylz1125/7124919

posted on 2016-01-06 11:14  gcczhongduan  阅读(302)  评论(0编辑  收藏  举报