cocos2d-x游戏开发 跑酷(九) 源码下载及小结
2014-05-22 15:04
323 查看
这个东西零零碎碎写了一个礼拜吧。其实也没多少东西在里面。文章后附下载地址
博客地址:http://blog.csdn.net/dawn_moon
因为我没用过chipmunk,而且它是面向过程的东西,情感上又不太愿意去研究,所以我用box2d来做了物理仿真。个人感觉box2d还是蛮好用的,它的作者很牛逼的哦。暴雪娱乐的首席软件工程师,box2d是他业余写的。国外的攻城狮都这么牛逼么。
我感觉我的代码组织的还算比较清楚的。复杂点的地方,我都写了一些简要的注释。其实我不认为一行代码一行注释是一个好的风格。因为我觉得,如果你的代码需要大量的注释别人才看的懂的话,只有两种可能,一是你实在太牛逼,已经是非常人,一般人理解不了你的思想,所以要每行都加注释;另一种可能就是代码实在太烂,不多加点注释自己都看不懂。我倾向于,如果要创建一个类,看名字就大概知道这个类是用来干嘛的,如果要写一个函数,看名字也应该能知道用来干嘛的。关于这方面,其实C++先天就不足,这是语言设计的问题,相比Objective-C,简直弱爆了。有兴趣的可以去看下O-C。但是我还是尽量让代码看起来言简意赅,看名知意,只能是尽量而已。
我十分讨厌在代码里看到突然冒出来的数字。你在看一个变量定义,结果它是由一个数字跟另一个变量运算来取值的,这时候是不是有点莫名其妙,这数字哪儿来的?为什么要有一个这样的数字在这里。这时候如果有点注释,就好了,不然挺郁闷的。
在跑酷里面的ObjectManager类里面,添加金币的地方有一个定义
[cpp] view
plaincopyprint?
float startX = coinOriginX - coinWidth / 2 * 11;
呵呵,后面那个11,说实话我真不知道是怎么来的。如果是金币间隙的个数,那么应该是6,如果是一串金币的长度,那么应该是18。所以这里比较迷惑。
我在给精灵设置tag的时候也不会莫名其妙的直接用setTag(1)这种方式,因为你要设tag,那么一定是要用这个tag,在你用的时候你或许会getChildByTag(1),那么请问如果你看到这个取tag的函数,你知道它取的是个什么东西吗。我的代码里面设置tag都会给这个tag取个名字,用个枚举来列出所有要设置的tag,在用的时候你就知道这个tag取出来的是个什么东西了。
我的代码已经上传到资源了,只要一个积分哦。
一个比较好的调试方式是,你先下载泰然的JS版工程,他那个连引擎都打包了,我是在那个工程下做的二次开发。你只需要把我的代码下载解压,替换到Classes目录下即可。
这段代码我会收录到我的新书里面,到时候欢迎大家购买指正。
如果你没有积分,可以在本篇文章下留下你的邮箱,我定期来检查发送给你。
代码下载地址:http://download.csdn.net/detail/fylz1125/7124919
博客地址:http://blog.csdn.net/dawn_moon
因为我没用过chipmunk,而且它是面向过程的东西,情感上又不太愿意去研究,所以我用box2d来做了物理仿真。个人感觉box2d还是蛮好用的,它的作者很牛逼的哦。暴雪娱乐的首席软件工程师,box2d是他业余写的。国外的攻城狮都这么牛逼么。
我感觉我的代码组织的还算比较清楚的。复杂点的地方,我都写了一些简要的注释。其实我不认为一行代码一行注释是一个好的风格。因为我觉得,如果你的代码需要大量的注释别人才看的懂的话,只有两种可能,一是你实在太牛逼,已经是非常人,一般人理解不了你的思想,所以要每行都加注释;另一种可能就是代码实在太烂,不多加点注释自己都看不懂。我倾向于,如果要创建一个类,看名字就大概知道这个类是用来干嘛的,如果要写一个函数,看名字也应该能知道用来干嘛的。关于这方面,其实C++先天就不足,这是语言设计的问题,相比Objective-C,简直弱爆了。有兴趣的可以去看下O-C。但是我还是尽量让代码看起来言简意赅,看名知意,只能是尽量而已。
我十分讨厌在代码里看到突然冒出来的数字。你在看一个变量定义,结果它是由一个数字跟另一个变量运算来取值的,这时候是不是有点莫名其妙,这数字哪儿来的?为什么要有一个这样的数字在这里。这时候如果有点注释,就好了,不然挺郁闷的。
在跑酷里面的ObjectManager类里面,添加金币的地方有一个定义
[cpp] view
plaincopyprint?
float startX = coinOriginX - coinWidth / 2 * 11;
呵呵,后面那个11,说实话我真不知道是怎么来的。如果是金币间隙的个数,那么应该是6,如果是一串金币的长度,那么应该是18。所以这里比较迷惑。
我在给精灵设置tag的时候也不会莫名其妙的直接用setTag(1)这种方式,因为你要设tag,那么一定是要用这个tag,在你用的时候你或许会getChildByTag(1),那么请问如果你看到这个取tag的函数,你知道它取的是个什么东西吗。我的代码里面设置tag都会给这个tag取个名字,用个枚举来列出所有要设置的tag,在用的时候你就知道这个tag取出来的是个什么东西了。
我的代码已经上传到资源了,只要一个积分哦。
一个比较好的调试方式是,你先下载泰然的JS版工程,他那个连引擎都打包了,我是在那个工程下做的二次开发。你只需要把我的代码下载解压,替换到Classes目录下即可。
这段代码我会收录到我的新书里面,到时候欢迎大家购买指正。
如果你没有积分,可以在本篇文章下留下你的邮箱,我定期来检查发送给你。
代码下载地址:http://download.csdn.net/detail/fylz1125/7124919
相关文章推荐
- cocos2d-x游戏开发 跑酷(九) 源码下载及小结
- cocos2d-x游戏开发 跑酷(九) 源代码下载及小结
- 【通知】▁▂▃ Himi 最新著作《iOS游戏编程之从零开始—Cocos2d-x与cocos2d引擎游戏开发》★书籍源码+第4/5/6样章★->免费下载★ ▃▂▁
- ★书籍源码免费下载★新作《iOS游戏编程之从零开始—Cocos2d-x与cocos2d引擎游戏开发
- 【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 【Himi之Cocos2d-iOS游戏开发】系列博文26篇整合以及Android书籍的源码和样章▃11月10日更新第二十六章
- 【cocos2d-x IOS游戏开发-城市跑酷2】python create_project
- 【Cocos2d游戏开发之二】Cocos2D 游戏开发资源贴(教程以及源码)
- 【iOS-Cocos2d游戏开发之十五】详解CCProgressTimer 进度条并修改cocos2d源码实现“理想”游戏进度条!
- Android项目小结---闹铃备忘录小开发知识点(附有:源码下载)
- 【iOS-Cocos2d游戏开发之二十一 】自定义精灵类并为你的精灵设置攻击帧(指定开始帧)以及扩展Cocos2d源码的CCAnimation简化动画创建!
- 【cocos2d-x IOS游戏开发-城市跑酷1】跑酷游戏介绍
- 【Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 【iOS-Cocos2d游戏开发之十五】详解CCProgressTimer 进度条并修改cocos2d源码实现“理想”游戏进度条!
- [置顶]▁▂▃ 【2011-9-22日前Himi所有博文锦集-CHM文档】+【Android游戏开发系列源码】+【免费提供打包下载】▃▂▁
- [iphone游戏开发]第一篇 下载并安装cocos2d
- 【Cocos2d游戏开发之二】Cocos2D 游戏开发资源贴(教程以及源码)
- 【iOS-Cocos2d游戏开发之二十一 】自定义精灵类并为你的精灵设置攻击帧(指定开始帧)以及扩展Cocos2d源码的CCAnimation简化动画创建!
- html5游戏开发 网页版-捕鱼达人游戏源码下载
- 【iOS-Cocos2d游戏开发之二】Cocos2D 游戏开发资源贴(教程以及源码)