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

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

博客地址: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

cocos2d-x游戏开发 跑酷(九) 源代码下载及小结的更多相关文章

  1. iOS cocos2d 2游戏开发实战(第3版)书评

    2013是游戏爆发的一年,手游用户也是飞速暴增.虽然自己不做游戏,但也是时刻了解手机应用开发的新动向.看到CSDN的"写书评得技术图书赢下载分"活动,就申请了一本<iOS c ...

  2. 【iOS-cocos2d-X 游戏开发之九】Cocos2dx利用CCSAXParser解析xml数据&CCMutableDictionary使用与注意!

    本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2dx/694.html ☞ ...

  3. cocos2d-x游戏开发 跑酷(两) 物理世界

    原创.转载请注明出处:http://blog.csdn.net/dawn_moon/article/details/21240343 泰然的跑酷用的chipmunk物理引擎.我没有细致学过这个东西. ...

  4. cocos2d-x游戏开发 跑酷(八) 对象管理 碰撞检測

    对象管理类的原理是这种: ObjectManager类是一个单例类,全局仅仅有一个对象实例存在.初始化的时候创建两个数组CCArray来保存金币和岩石.为什么要保存,由于在地图重载的时候.要销毁看不见 ...

  5. cocos2d-x游戏开发 跑酷(三) 人物跑动

    原创.转载请注明出处:http://blog.csdn.net/dawn_moon/article/details/21245881 好吧.最终要跑起来了. 要实现跑酷须要用到帧动画,什么是帧动画,不 ...

  6. cocos2d-x游戏开发 跑酷(四) 关联与物理世界

    原创.转载注明出处http://blog.csdn.net/dawn_moon/article/details/21451077 前面一节尽管实现了一个跑动的人物,可是他只不过一个精灵在运行一个跑动的 ...

  7. (转载)如何学好iphone游戏开发

    转自:http://www.cnblogs.com/zilongshanren/archive/2011/09/19/2181558.html 自从发布<如何学习iphone游戏开发>到 ...

  8. 《MFC游戏开发》笔记九 游戏中的碰撞判定初步&怪物运动简单AI

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9374935 作者:七十一雾央 新浪微博:http:// ...

  9. 文顶顶iOS开发博客链接整理及部分项目源代码下载

    文顶顶iOS开发博客链接整理及部分项目源代码下载   网上的iOS开发的教程很多,但是像cnblogs博主文顶顶的博客这样内容图文并茂,代码齐全,示例经典,原理也有阐述,覆盖面宽广,自成系统的系列教程 ...

随机推荐

  1. 【DRF权限】

    目录 权限的详细用法 我们都听过权限,那么权限到底是做什么的呢. 我们都有博客,或者去一些论坛,一定知道管理员这个角色, 比如我们申请博客的时候,一定要向管理员申请,也就是说管理员会有一些特殊的权利, ...

  2. centos7 docker镜像源设置

    由于docker他的镜像下载地址是国外官网源需要修改 添加 Docker 加速镜像(阿里云专属) 安装/升级你的Docker客户端 推荐安装1.10.0以上版本的Docker客户端,参考文档 dock ...

  3. 【习题 8-13 UVA - 10570】Meeting with Aliens

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 枚举1的位置在i 往右摆成一排. a[i+1]..a[n]..a[1]..a[i-1]变为有序的 ->寻找循环节,每个循环节的 ...

  4. css大会站点顶部的一个特效

    看到http://css.w3ctech.com/ 上一个效果认为挺赞的. 然后学些了一下. demo地址:http://codepen.io/tianzi77/pen/mJaLWq html结构非常 ...

  5. 洛谷 P1313 计算系数

    题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...

  6. jQuery高级选择器和其等价方法

    jQuery选择器和css一样,但兼容性更好 <body> <p>p1</p> <p>p1</p> <p>p1</p> ...

  7. Office GVLK 密钥对照表(kms激活专用)

    Office2016系列: Office Professional Plus 2016:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99 Office Standard 2016:JNRGM ...

  8. Scala——构造函数

    Scala的构造函数分为主构造函数和辅助构造函数. 辅助构造函数 辅助构造函数比较容易理解,它们同C++和Java的构造函数十分类似,只有两处不同: 1.辅助构造函数的名称为this,这主要是考虑到在 ...

  9. C语言的多行宏定义

    一.多行宏定义的使用 最近在跟STM32L011K4T6低功耗的源代码,发现使用了多行的宏定义来封装函数,记得之前把\给删除掉,编译程序就一直报错. \是续行操作符,也就是宏定义一行写不完,需要多行写 ...

  10. WPF 入门《数据绑定》

    简单而言, 数据绑定是一种关系, 这种关系告诉WPF 从一个源目标对象中提取一些信息, 并且使用该信息设置为目标对象的属性.目标属性总是依赖项属性, 并且通常位于WPF元素中. 然而, 源对象可以是任 ...