这两天鼓捣cocos2d-iphone去了,你问我看的是哪本书?...国内cocos2d编程的书貌似我只找到一本...这是一个专注于开发2d游戏的引擎.可以支持3D加载但是3D渲染的代码要自己写.它封装了OpenGL ES的代码,有Chipmunk和Box2D两个引擎可供选择,所以开发难度简化,但编程技巧依然重要.
请去http://www.cocos2d-iphone.org去下载下来玩吧,cocos2d-iphone的API可以用doxygen 编译cocos2d中的项目中target 选择cocos2d-documentation集成到Xcode中,也有在线的API可查,不过海外服务器是比较慢的http://www.cocos2d-iphone.org/api-ref/latest-stable/index.html
安装神马的是很简单的. 把下过来的cocos2d中的install-templates.h拖到终端中回车就可以了.苹果系统程序的安装一向是那么的令人愉快.
认识一下最上层的抽象类吧,是叫做CCNode的东西,为神马叫做节点呢...
CCScene,CCLayer,CCSprit,CCMenu是常用的类.几乎是coco2d的游戏都会用到它们.CCSCene负责游戏中的场景,CCLayer负责组织各个节点,并且负责用户交互,包括触摸和加速计(手势),CCSprite就是著名的精灵类,负责图像加载和显示,属性维护.CCMenu是菜单,菜单的单位是CCMenuItem(可以用图像也可以用标签来包装得到)
认识一下全局存在的类(单例模式)CCDirector是全局配置的类,管的东西很多,比如屏幕大小啦,场景切换啦...
切换视图的机制类似于NavigationController的栈,是用CCDirector 用pushScene:scene和popScene来切换的.
CCAction,一个能让所有节点类动起来的类,有CCActionEase等CCFiniteAction的派生类,动作实在是太丰富了,是它们让游戏生动活泼的,有机会再专写一篇慢慢钻研吧...
关于消息调度的实现,是靠一个叫做scheduleUpdates和它的重载函数去实现的,可以自己设定多少时间间隔调用多少次这个方法.
至于帧的机制,只知道可以设置帧速率,还没去看这个引擎怎么处理跳帧.
我用了一天时间大概扫了一下API,接下来就开始按着书本动手做第一个游戏了,蛋疼的是例子是用加速计做的,我只有模拟器没办法用手势的功能. 所以自己得想办法弄成鼠标去玩了.碰巧感冒了,状态极差.先把代码书放下,我休息一会儿.我..我复习专业英语去,要考试了..