1.Cocos2d-x拥有一个包含其他所有头文件的文件"cocos2d.h"。通常,我们只需要在使用时包含这个头文件,就可以使用引擎的全部功能了。

2.Cocos2d-x的类都放置于cocos2d命名空间下。在游戏中,我们常使用引擎提供的另一个宏USING_NS_CC来引用cocos2d命名空间:

#define USING_NS_CC using namespace cocos2d。

3.类的命名与Cocos2d-iPhone一致,由类库缩写加上类名称组成,其中类库缩写采用大写,类名称采用驼峰法。Cocos2d的缩写是CC,因此Cocos2d-x的类都拥有CC前缀,例如表示动作的类就叫做CCAction。

4.Cocos2d-x不使用传统的值类型,所有的对象都创建在堆上,然后通过指针引用。

创建Cocos2d-x对象通常有两种方法:第一种是首先使用new操作符创造一个未初始化的对象,然后调用init系列方法来初始化;第二种是使用静态的工厂方法直接创建一个对象。

这两种方法都可以创建Cocos2d-x对象,然而它们在内存管理方面还是有一点点差异的。使用构造函数创建的对象,它的所有权已经属于调用者了,使用工厂方法创建的对象的所有权却并不属于调用者,因此,使用构造函数创建的对象需要调用者负责释放,而使用工厂方法创建的对象则不需要。

5.在Objective-C中,选择器(Selector)是类似于C++中的类函数指针的机制。由于Cocos2d-x继承了Cocos2d-iPhone的代码风格,因此也提供了一系列类似于Objective-C中创建选择器语法的宏,用来创建函数指针。这些宏都只有一个参数SELECTOR,表示被指向的类方法。

6.属性

7.单例

代码风格——Cocos2d-x学习历程(四)的更多相关文章

  1. MongoDB:利用官方驱动改装为EF代码风格的MongoDB.Repository框架 四

    本次改动主要实现MongoGridFS功能.实现方式主要使用了MongoGridFS和MongoGridFSFileInfo两个类. 设计思路:定义一个IMongoFile接口并继承IEntity,以 ...

  2. Hadoop-wordCount实例代码编写(Hadoop学习第四天)

    1.新建一个maven项目2.pom文件中引入以下jar包<dependency> <groupId>org.apache.hadoop</groupId> < ...

  3. SpringBoot课程学习(四)

    一.profile的多文档配置方式 1.profile文件方式:提供多个配置文件,每个代表一种环境 如: 1.application-dev.properties/yml 开发环境 2.applica ...

  4. bootstrap基础学习小记(二)排版、列表、代码风格、表格

    排版——标题.副标题.段落(正文文本).强调内容.粗体.斜体.强调相关的类.文本对齐 <!DOCTYPE HTML> <html> <head> <meta ...

  5. Linux学习笔记:【004】Linux内核代码风格

    Chinese translated version of Documentation/CodingStyle   If you have any comment or update to the c ...

  6. css学习笔记 --初学 css代码风格、布局误区

    初学css,记录下初学者需要注意的事项. 一.css 代码风格 1.css 命名语义化. 如类名: main   主体   container 内容 footer    站底 right.center ...

  7. 03.ElementUI源码学习:代码风格检查和格式化配置(ESlint & Prettier)

    书接上文.在团队协作中,为避免低级Bug.以及团队协作时不同代码风格对彼此造成的困扰与影响,会预先制定编码规范.使用 Lint工具和代码风格检测工具,则可以辅助编码规范执行,格式化代码,使样式与规则保 ...

  8. ZZC语言代码风格

    程序员之路--关于代码风格 优秀的代码风格如同一身得体的打扮,能够给人以良好的印象.初学程序设计,首先必须建立良好的编程习惯,这其中就包括代码风格.本文就代码风格中的几个重点问题进行了讨论,并在文后给 ...

  9. 我的Linux学习历程:那些我看过的Linux书籍们

    [+]查看原图http://www.ituring.com.cn/article/119401 来北京工作已经一个多月,大都市的生活比起读大学要忙碌得多,尤其是出行,基本以小时为基本的计时单位.有时茫 ...

随机推荐

  1. wxpython 中的所有控件及高级应用

    转自http://xoomer.virgilio.it/infinity77/Phoenix/lib.agw.html,,,哈哈终于找到了这块的内容,书上基本没有讲解 This is the Adva ...

  2. g++编译cpp文件

    gdb调试c程序打不到断点的原因可能是编译c文件的时候没有加-g选项,-g选项是编译加debug信息的,不加是打不到断点的 g++编译cpp文件 g++ -g -c *.cpp       编译 g+ ...

  3. Design Pattern Iterator 迭代器设计模式

    这个设计模式感觉很easy,我们平时敲代码的时候也是常常须要调用iterator的,C++和Java都是. 所以感觉没什么特别的.就是须要模仿C++或者Java的iterator类的功能吧. 这里简单 ...

  4. static和extern关键字 对变量的作用

    本文目录 • 一.在Java中,全局变量的定义没有严格的位置规定 • 二.在C语言中,全局变量定义的位置是有限制的 • 三.重复定义同一个变量 • 四.不同源文件中的同名变量 • 五.static关键 ...

  5. 关于智能指针auto_ptr

    智能指针auto_ptr和shared_ptr也是面试中经常被问到的一个 感觉看auto_ptr的源码反而更加容易理解一些,因为源码的代码量并不大,而且比较容易理解. 本篇主要介绍auto_ptr 其 ...

  6. 最大流算法----(SAP 和 EK)

    EK算法的核心 反复寻找源点 s 到汇点 t 之间的增广路径,若有,找出增广路径上每一段的最小值delta,若无,则结束. 寻找增广路径时用BFS来找,并且更新残留网的值. 找到delta后,则使最大 ...

  7. Swift 基本数据类型

    Swift 1,Swift支持所有C和Objective-C的基本类型,支持面向过程和面向对象的编程机制. 2,Swift提供了两种功能强劲的集合类型:数组和字典. 3,元组. 4,可选类型. 5,S ...

  8. Could not lock surface java.lang.IllegalArgumentException

    08-07 14:46:33.795: E/Surface(4927): dequeueBuffer failed (Invalid argument) 08-07 14:46:33.800: E/V ...

  9. PHP中mktime() 函数对于日期运算和验证

    mktime() 函数对于日期运算和验证非常有用.它可以自动校正越界的输入: // 语法:mktime(hour,minute,second,month,day,year) echo(date('Y- ...

  10. background:url 的使用方法

    #pingfen li{ width:27px; float:left; height:28px; cursor:pointer; background:url( ; list-style:none; ...