内容简介
第1章 游戏设计
1.1游戏的开始
1.2主导思想
1.2.1适合iPhone的游戏
1.2.2故事情节
1.2.3名字的内涵
1.2.4游戏的目标
1.3游戏的元素
1.3.1时间
1.3.2生命
1.3.3健康值
1.3.4物品
1.3.5羊皮碎片
1.3.6门
1.3.7武器
1.3.8实体
1.3.9玩家
1.4小结
第2章 术语、技术和工具
2.1术语
2.1.1精灵
2.1.2精灵表
2.1.3动画
2.1.4点阵字
2.1.5贴图地图
2.1.6粒子系统
2.2碰撞检测
2.2.1人工智能
2.2.2游戏循环
2.3技术
2.3.1 Objective-C
2.3.2 Cocoa Touch
2.3.3 OpenGL ES
2.3.4 OpenAL
2.4工具
2.5小结
第3章 开始探索旅程
3.1在Xcode中创建项目
3.2程序的运行
3.3准备就绪
3.4程序代理
3.4.1查看头文件
3.4.2查看实现文件
3.5 EAGLView
3.5.1 EAGLView.h
3.5.2 EAGLView.m
3.6 ES 1 Renderer
3.6.1审查ES1 Renderer.h
3.6.2查看ES1 Renderer.m
3.6.3创建帧缓冲区和渲染缓冲区
3.6.4 render方法
3.6.5定义颜色值
3.6.6定位
3.7 OpenGL的工作原理
3.7.1对模型应用变换
3.7.2在屏幕上渲染
3.8小结
第4章 游戏循环
4.1时间控制就是一切
4.2冲突检测
4.3游戏循环
4.3.1基于帧的循环体
4.3.2基于时间的固定间隔循环体
4.4开始
4.4.1 EAGLView类的修改
4.4.2 EAGLView.m文件的修改
4.4.3 ES1Renderer类
4.4.4配置视图端口
4.5游戏场景和游戏控制器
4.5.1创建游戏控制器
4.5.2 GameController类
4.5.3创建单态类
4.5.4 GameController.m文件内部
4.5.5 AbstractScene类
4.5.6 GameScene类
4.6小结
4.7练习
第5章 图像渲染
5.1渲染入门
5.2四边形的渲染
5.3纹理映射
5.4交错顶点数组
5.5结构体
5.6图像渲染类
5.6.1 Texture2D类
5.6.2 TextureManager类
5.6.3 ImageRenderManager类
5.7 Image类
5.7.1初始化
5.7.2获取子图像
5.7.3复制图像
5.7.4渲染图像
5.7.5 getter和setter
5.8小结
5.9练习
第6章 精灵表
6.1精灵表简介
6.1.1简单精灵表
6.1.2复杂精灵表
6.2使用Zwoptex
6.3 SpriteSheet类
6.3.1初始化
6.3.2提取精灵
6.4 PackedSpriteSheet类
6.4.1初始化
6.4.2解析控制文件
6.4.3提取精灵
6.5小结
6.6练习
第7章 动画
7.1动画篇的项目
7.2动画简介
7.2.1帧
7.2.2状态
7.2.3类型
7.2.4方向
7.2.5跳动帧
7.3 Animation类
7.3.1初始化
7.3.2添加帧
7.3.3更新动画
7.3.4渲染动画
7.3.5完成
7.4小结
7.5练习
第8章 点阵字
8.1点阵字项目
8.2点阵字简介
8.3创建点阵字精灵表
8.4 BitmapFont类
8.5与C语言的关系
8.5.1初始化方法
8.5.2解析控制文件
8.6渲染文本
8.6.1渲染合理的文本
8.6.2文本宽度和高度
8.6.3重新分配
8.7小结
8.8练习
第9章 贴图地图
9.1贴图地图入门
9.2贴图地图简介
9.3贴图地图编辑器
9.3.1贴图调色板
9.3.2图层
9.4创建贴图地图
9.4.1新建一个贴图集合
9.4.2创建地图图层
9.4.3创建对象图层
9.4.4绘制地图
9.4.5放置对象
9.5认识Tiled配置文件
9.5.1 map元素
9.5.2 tileset元素
9.5.3 layer元素
9.5.4 objectgroup元素
9.6地图类
9.6.1 Layer类
9.6.2 TileSet类
9.6.3 TiledMap类
9.6.4初始化
9.6.5解析地图文件
9.6.6创建图层图像
9.6.7图层渲染
9.6.8获取贴图信息
9.7小结
9.8练习
第10章 粒子发射器
10.1粒子发射项目
10.1.1粒子系统简介
10.1.2粒子系统参数
10.2粒子的生命周期
10.2.1粒子的诞生
10.2.2粒子生存
10.2.3粒子消亡
10.2.4粒子重生
10.3粒子发射器的配置
10.4粒子发射器类
10.4.1 TBXMLParticleAdditions类
10.4.2 ParticleEmitter类
10.5开始游戏
10.6小结
第11章 声音
11.1声音项目
11.2 iPhone的声音简介
11.2.1音频会话
11.2.2播放音乐
11.2.3播放音效
11.2.4创建音效
11.2.5立体声与单声道
11.3声音管理器类
11.4音效管理
11.4.1载入音效
11.4.2播放音效
11.4.3停止播放音效
11.4.4设置音效和监听器位置
11.5处理声音播放干扰
11.6小结
第12章 用户输入
12.1用户输入项目
12.2用户输入简介
12.3处理触控事件
12.3.1 touchesBegan阶段
12.3.2 touchesMoved阶段
12.3.3 touchesEnded阶段
12.4处理敲击
12.5加速器事件
12.6小结
第13章 游戏界面
13.1游戏界面项目
13.2 OpenGL ES界面
13.2.1界面渲染
13.2.2按钮边界定义
13.2.3点击处理
13.2.4可视化边界
13.2.5转换处理
13.2.6 OpenGL ES定向
13.3 UIKit界面
13.3.1创建界面
13.3.2界面连接
13.3.3 UIKit定向
13.3.4显示或隐藏UIKit界面
13.4小结
第14章 游戏对象和实体
14.1游戏对象和实体项目
14.2游戏对象
14.2.1 AbstractObject类
14.2.2 EnergyObject类
14.3游戏实体
14.3.1 AbstractEntity类
14.3.2人工智能
14.3.3 Player实体类
14.4保存游戏对象或实体
14.5小结
第15章 碰撞检测
15.1碰撞检测简介
15.2基于帧与基于时间
15.3轴对齐边界框
15.4检测碰撞
15.5碰撞地图
15.6实体与地图间的碰撞检测
15.7实体与实体间的碰撞检测
15.8小结
第16章 组装起来
16.1摄像机
16.2保存游戏状态和设置
16.2.1保存游戏状态
16.2.2载入游戏状态
16.2.3保存游戏设置
16.2.4载入游戏设置
16.3保存高分
16.3.1添加分数
16.3.2保存高分
16.3.3载入高分
16.4性能和测试
16.4.1使用仪表
16.4.2 Leaks仪表
16.4.3使用OpenGL ES仪表
16.4.4用Thumb编译
16.5 β测试
16.5.1多种设备类型
16.5.2反馈
16.6小结