最近一个月接触了cocos2d-x,一个比较流行的2D游戏开发引擎,优点是可以移植到多平台,包括android,mac,ios,wp7等,确定嘛,就是还是非可视化,开发起来还是有点不方便,语言是用C++,比较考验代码的组织能力(C++我不是很熟)
一开始需要了解游戏的运行原理,和其他游戏一样,都有【初始化阶段init】-------》【更新数据阶段update】--------》【绘制阶段draw】---------》【销毁阶段destroy】。其中第二阶段和第三阶段是在一个循环中,一旦游戏结束条件触发,才会跳出循环,比如人物的HP为0了或者什么的。但是cocos2d-x中,第二和第三阶段并非是强制要自己写的,引擎自己会执行父类的update和draw方法。当然了,也可以自己进行重写,这个用得比较多,毕竟程序按着自己控制的方向来执行是最好的。
游戏的总体结构是分成了导演director,场景scene,层layer,精灵sprite,这是最基本的构成元素,和现实中的电影拍摄方法对应上,精灵相当于男主角和女主角,还有路人甲乙丙丁戊己庚辛......(你够了!)层相当于布景层,在人物可以在一个层中,背景在另外一个层中,这样,人物所在层移动并不会影响到背景层,这样就独立出来了。场景是个抽象概念,层与精灵就构成了场景,战争中,人物冲锋,背景飞沙走石是一个场景,就是这样。导演和现实中的导演一样,控制整个游戏的流程。