上QQ阅读APP看书,第一时间看更新
1.4 约定
在开始之前,先声明一些约定,以应对Cocos2d-x变化莫测的接口,接口的名字叫什么,本不必纠结,但我们需要将程序跑起来,所以接口的名字错不得。
这里主要声明Cocos2d-x 2.x和3.x版本的名字区别,以便于在介绍代码时,不被版本所困。本书中的代码基本都是以3.0之后的代码为准,除了一些3.x的新特性外,使用2.x的可以通过遵循我们的约定来使代码运行起来。
代码上的第一个改变是去除了CC前缀,如果读者使用的是2.x版本,那么引擎的类名需要加上CC前缀,而3.x是没有CC前缀的。
❏常用类和数据结构,CCPoint改为了Vec2,CCObject改为了CCRef。
❏获取单例接口的调整,从sharedxxxxx改为了getInstance。
❏变量命名,从m_b touchEnabled 到_touchEnabled,摒弃了匈牙利命名法。
❏因为接口改变而导致的编译错误并不难解决,与其介绍所有版本的接口区别,不如直接解决接口错误,这是程序员的基本能力。如果编译错误都解决不了,如何解决更复杂的错误?大部分的代码差异都只是一些名字上的小改动,这种用约定来解决。
❏约定解决不了的编译错误,如果是对象的方法名改了,可以用“转到定义”的功能来跳转到错误对象的头文件,然后搜索名字最接近的函数。如果是对象的名字被改了,可以通过查看使用了该对象的相关接口来确定该对象的新名字,然后修改。
❏一些代码是经历了重构,接口甚至思想都不一样了,我们会在具体的章节中对比、分析,看重构前后有什么区别,是更好还是更坏,好在哪里,坏在哪里。
❏文中会使用粗体来表示重点内容,用圆括号括起来的内容表示旁白或旁注。