Cocos2dx 代码命名风格
2016-04-27 19:24
399 查看
-----学习笔记-----
cocos2dx延续cocos iphone而来,采用oc代码风格。只要导入“cocos2d.h”头文件,就可以获得引擎的全部功能。引擎的类都在 cocos2d命名空间下,使用using_ns_cc宏来引用命名空间。其中类采用驼峰命名法,第一个字母大写,受oc代码风格的影响,前面加大写的CC字母。
cocos2dx创建对象都在堆上,通过指针引用。创建对象有两种方法,一是通过new直接创建,再通过init方法初始化对象信息;二是通过
工厂方法来创建,命名基本统一成create了。从内存管理的角度讲,推荐使用第二种方法,创建对象的同时自动对对象进行内存管理。如果派生新类,需要重写init方法,在子类中需要申明次方法为虚函数才起作用。
在oc中,选择器类似函数指针,cocos2dx提供一系列类似oc中创建选择器的宏,用来创建创建函数指针。
typedef void (Object::*SEL_SCHEDULE)(float);
typedef void (Object::*SEL_CallFunc)();
typedef void (Object::*SEL_CallFuncN)(Node*);
#define schedule_selector(_SELECTOR) static_cast<cocos2d::SEL_SCHEDULE>(&_SELECTOR)
#define callfunc_selector(_SELECTOR) static_cast<cocos2d::SEL_CallFunc>(&_SELECTOR)
#define callfuncN_selector(_SELECTOR) static_cast<cocos2d::SEL_CallFuncN>(&_SELECTOR)
单例在cocos2dx中被广泛使用,如director导演类,在2.x的引擎版本中通过shared+xxx方法获取,3.x的引擎版本直接通过getInsance方法获取。
cocos2dx延续cocos iphone而来,采用oc代码风格。只要导入“cocos2d.h”头文件,就可以获得引擎的全部功能。引擎的类都在 cocos2d命名空间下,使用using_ns_cc宏来引用命名空间。其中类采用驼峰命名法,第一个字母大写,受oc代码风格的影响,前面加大写的CC字母。
cocos2dx创建对象都在堆上,通过指针引用。创建对象有两种方法,一是通过new直接创建,再通过init方法初始化对象信息;二是通过
工厂方法来创建,命名基本统一成create了。从内存管理的角度讲,推荐使用第二种方法,创建对象的同时自动对对象进行内存管理。如果派生新类,需要重写init方法,在子类中需要申明次方法为虚函数才起作用。
在oc中,选择器类似函数指针,cocos2dx提供一系列类似oc中创建选择器的宏,用来创建创建函数指针。
typedef void (Object::*SEL_SCHEDULE)(float);
typedef void (Object::*SEL_CallFunc)();
typedef void (Object::*SEL_CallFuncN)(Node*);
#define schedule_selector(_SELECTOR) static_cast<cocos2d::SEL_SCHEDULE>(&_SELECTOR)
#define callfunc_selector(_SELECTOR) static_cast<cocos2d::SEL_CallFunc>(&_SELECTOR)
#define callfuncN_selector(_SELECTOR) static_cast<cocos2d::SEL_CallFuncN>(&_SELECTOR)
单例在cocos2dx中被广泛使用,如director导演类,在2.x的引擎版本中通过shared+xxx方法获取,3.x的引擎版本直接通过getInsance方法获取。
相关文章推荐
- Cocos2d-x中背景音乐和音效使用实例
- Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验
- Cocos2d-x UI开发之CCControlPotentiometer控件类使用实例
- Cocos2d-x UI开发之文本类使用实例
- Cocos2d-x保存用户游戏数据之XML文件是否存在问题判断方法
- Cocos2d-x UI开发之菜单类使用实例
- Cocos2d-x UI开发之CCControlButton控件类实例
- Cocos2d-x学习笔记之世界坐标系、本地坐标系、opengl坐标系、屏幕坐标系
- Cocos2d-x UI开发之CCControlColourPicker控件类使用实例
- Cocos2d-x学习笔记之CCLayerColor层的使用实例
- Cocos2d-x Schedule定时器的使用实例
- Cocos2d-x中使用CCScrollView来实现关卡选择实例
- Cocos2d-x中CCEditBox文本输入框的使用实例
- cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍
- Cocos2d-x UI开发之CCControlSlider控件类使用实例
- Cocos2d-x学习笔记之开发环境搭建
- Cocos2d-x学习笔记之Hello World!
- 使用C++进行Cocos2d-x游戏开发入门过程中的要点解析
- Cocos2d-x的内存管理总结
- Cocos2d-x 3.0中集成社交分享ShareSDK的详细步骤和常见问题解决