以下是根据我开发cocos经验,总结出新人掌握cocos引擎必须理解透彻的几大块重点知识,也是很多公司在面试时的重点,提供的教程导航都是我在看了多篇相关教程后,觉得讲解的比较深入浅出的好教程,希望对大家有帮助(注:以下答案基于 cocos2d 2.x版本)
面试题一:请谈谈cocos2d的内存管理机制? 难度系数:3
解答:详解cocos2d内存管理
http://blog.csdn.net/zjytc26/article/details/41846723
面试题二:请谈谈cocos2d触摸机制? 难度系数:3.5
解答.详解cocos2d触摸事件分发机制
http://blog.csdn.net/zjytc26/article/details/41945005
面试题三:请谈谈cocos2d3.0渲染架构? 难度系数:4.5
解答.深入学习cocos2d3.0渲染架构
http://blog.csdn.net/bill_man/article/details/35839499
面试题四:cache机制原理是什么?难度系数:3
新人答案:把新加进内存的资源做一个hashmap存储,每一个资源加一个key。每次加载资源的时候,先查找资源是否存在,存在直接返回,否则加载进内存。
面试题五:介绍下cocos2d的ActionManager以及各种Action机制? 难度系数:3.5
回答要点:单例,由CCDirector创建并维护,在init时已经被加入计时器,由一个hash表管理Action,Target作为key,每次update会遍历hash表所有target的更新,已经完成的动作将会移除。
面试题六:减少内存开销的方法有哪些,图片压缩方法有哪些?难度系数:3.5
及时释放,减少泄露,重用资源,延迟加载,分部加载等。
一般的图片是4通道32位,即一个像素用4个字节表示,每个字节依次表示ARGB,即alpha,red,green,blue。那么图片占用的内存可以算出。
压缩像素即减少图片像素点多少,内存即减少。但是图片会变小。
压缩图片质量,即不用4个字节表示一个像素,如256色,就是用一个字节表示一个像素,每2个bit表示一个通道。但是图片表现效果变差。
面试题七:是否了解CCNode,CCSprite,CCLabel的渲染过程? 难度系数:4
面试题八:简单介绍下你所使用的cocos2d有哪些东西? 难度系数:3~5
libcocos2d:cocos基础库 主要封装 动作、基本自定义数据类型、纹理、shader、粒子、文本、文字输入、键盘、触摸、三方基本库(base64、xml、uhash等)、配置还有其他一些杂七杂八的东东
libcocosDenshion: 主要就是声音引擎
libExtensions:GUI扩展、cocostudio、cocosbuilder、spine编辑器支持、简单网络封装、简单splite、AssetsManager
其他的还有脚本引擎、物理引擎等