从头开始学cocos2dx笔记之五(总体印象)
2013-12-19 01:54
351 查看
环境搭建好当然就是学引擎本身了。不过学也有学法,看英文不见得是最优。我在网上找到本教材:cocos2dx高级开发教程,感觉很不错。看了这本书,基本对cocos2dx有个大致的了解了。这几天走马观花的读了一下,基本上对cocos2dx有以下印象:
1 因为跨平台的需要和很多其他原因,cocos2dx编程需要尽量遵循一定的语法规范,比如:
构造函数要用init()或者其他creat()之类
并且某些库需要用cocos2dx的库,比方说容器,STL不能用
需要用函数指针的地方最好用cocos2dx的选择器
需要谨慎使用retain()release()来利用cocos2dx的引用计数内存管理(但是象对象池之类的技巧也是需要的)
2 程序入口需要有4个实现:初始化后 回后台 回前台 结束。这几个接口应该主要处理程序在移动设备上遇到的突发事件,比方说接电话。
2 cocos2dx分为 场景 层 精灵3个布局层次。那个导演类个人感觉应该看成整个引擎的入口来理解更为合适。
3 场景组织采用树和节点,这一点和OGRE很象。
4 定时器分为update和schedule。update其实就是个节点每帧都被调用的函数,schedule才是传统理解上的定时器。。
5 action类可以实现部分动态效果。包括:放置、反转、显示与隐藏;直线运动、曲线运动、缩放、旋转、淡入淡出、透明度、色调;闪烁 帧动画等,还包括延迟
重复、变速等。感觉这个ACTION类包罗万象,一些看上去就是属性的设置都放进这个类里面来了。对于一些更复杂的动作,可以自定义。比如需要结合物理引擎的时候。COCOS2DX推荐使用BOX2D。
6 cocos2dx音效引擎:cocosDenshion,已经集成,需要用的时候需要包含对应头文件。SimpleAudioEngine.h
7 用户输入方面cocos2dx更关注触摸输入,使用层内建的触摸出入即可,只需要实现4个有关触摸的的方法。也可以自己写个类来注册接受触摸事件。
8 cocos2dx支持加速度计,这让我想起了以前我手机上的小球过迷宫游戏。
9 文字输入使用一个特殊的控件 CCTextFieldTTF。
10 cocos2dx有自己的粒子系统CCParticleSystem。
11 支持TILEMAP。(Tiled Map Editor制作并保存的TMX格式地图)
12 cocos2dx可以使用openGL es底层接口,实现更为强大的渲染结果(感觉象OGRE的顶点渲染)。引擎已经封装了一些接口(着色器)
13 使用CCUserDefault实现序列化。也可以考虑CCFileUtil,XML,JSON以及SQLITE。
14 引擎自带个网络传输库CURL,推荐使用HTTP传输。
15 cocos2dx是单线程,但推荐使用pthread实现多线程。
回过头来看cocos2dx引擎,如果不考虑引擎集成的其他库,cocos2dx的核心就是 场景 层 精灵 节点 动作 触摸 粒子以及着色器。所以理解这些方面基本也把cocos2dx摸得7788了。
1 因为跨平台的需要和很多其他原因,cocos2dx编程需要尽量遵循一定的语法规范,比如:
构造函数要用init()或者其他creat()之类
并且某些库需要用cocos2dx的库,比方说容器,STL不能用
需要用函数指针的地方最好用cocos2dx的选择器
需要谨慎使用retain()release()来利用cocos2dx的引用计数内存管理(但是象对象池之类的技巧也是需要的)
2 程序入口需要有4个实现:初始化后 回后台 回前台 结束。这几个接口应该主要处理程序在移动设备上遇到的突发事件,比方说接电话。
2 cocos2dx分为 场景 层 精灵3个布局层次。那个导演类个人感觉应该看成整个引擎的入口来理解更为合适。
3 场景组织采用树和节点,这一点和OGRE很象。
4 定时器分为update和schedule。update其实就是个节点每帧都被调用的函数,schedule才是传统理解上的定时器。。
5 action类可以实现部分动态效果。包括:放置、反转、显示与隐藏;直线运动、曲线运动、缩放、旋转、淡入淡出、透明度、色调;闪烁 帧动画等,还包括延迟
重复、变速等。感觉这个ACTION类包罗万象,一些看上去就是属性的设置都放进这个类里面来了。对于一些更复杂的动作,可以自定义。比如需要结合物理引擎的时候。COCOS2DX推荐使用BOX2D。
6 cocos2dx音效引擎:cocosDenshion,已经集成,需要用的时候需要包含对应头文件。SimpleAudioEngine.h
7 用户输入方面cocos2dx更关注触摸输入,使用层内建的触摸出入即可,只需要实现4个有关触摸的的方法。也可以自己写个类来注册接受触摸事件。
8 cocos2dx支持加速度计,这让我想起了以前我手机上的小球过迷宫游戏。
9 文字输入使用一个特殊的控件 CCTextFieldTTF。
10 cocos2dx有自己的粒子系统CCParticleSystem。
11 支持TILEMAP。(Tiled Map Editor制作并保存的TMX格式地图)
12 cocos2dx可以使用openGL es底层接口,实现更为强大的渲染结果(感觉象OGRE的顶点渲染)。引擎已经封装了一些接口(着色器)
13 使用CCUserDefault实现序列化。也可以考虑CCFileUtil,XML,JSON以及SQLITE。
14 引擎自带个网络传输库CURL,推荐使用HTTP传输。
15 cocos2dx是单线程,但推荐使用pthread实现多线程。
回过头来看cocos2dx引擎,如果不考虑引擎集成的其他库,cocos2dx的核心就是 场景 层 精灵 节点 动作 触摸 粒子以及着色器。所以理解这些方面基本也把cocos2dx摸得7788了。
相关文章推荐
- 从头开始学COCOS2DXb笔记四(导入COCOS2DX ANDROID官方示例)
- 从头开始学cocos2dx之笔记一(搭建VS环境)
- 从头开始学cocos2dx笔记之七(TestCpp之controler)
- 从头开始学cocos2dx笔记之八(ActionTest)(一)
- 从头开始学COCOS2DX笔记三(搭建NDK环境)
- 从头开始学cocos2dx笔记之六(TESTCPP之分辨率适配)
- 从头开始学习cocos2dx之笔记二(搭建ECLIPSE ANDROID JAVA环境)
- 【笔记】老程序员从头开始学JQuery的读书笔记
- worldwind学习笔记-9-从头开始,单例模式
- 【C#学习笔记1】从头开始学习C#
- 基于golang从头开始构建基于docker的微服务实战笔记
- D3D9 SDK文档笔记3---一切从头开始(2)
- cocos2dx游戏开发学习笔记2-从helloworld开始
- 从头开始学JavaScript 笔记(一)——基础中的基础
- D3D9 SDK文档笔记4---一切从头开始(3)
- 【笔记】老程序员从头开始学JQuery的读书笔记02
- Cocos2dx游戏开发系列笔记1:一个崭新的开始,cocos2dx2.2+ndkr9+Cygwin
- D3D9 SDK文档笔记2---一切从头开始(1)
- 从头开始学 RecyclerView(二) 添加item点击事件
- mina学习笔记二:从官方例子开始