第1章 设计简单的Frenzic式益智游戏 3
Wolfgang Ante
1.1 创建Frenzic 3
1.2 Formic简介 6
1.3 研究Formic代码 7
1.3.1 建立工程 8
1.3.2 编写游戏对象 10
1.3.3 编写视图控制器 18
1.3.4 编写背景视图 21
1.3.5 增加iPhone特定的功能 22
1.4 小结 25
第2章 深入剖析对等网络 29
Mike Ash
2.1 规划一个简单的协作游戏 30
2.2 构建GUI 30
2.3 为游戏增加网络支持 35
2.3.1 定义网络目标 35
2.3.2 设计网络代码 36
2.3.3 理解字节序 40
2.3.4 编写网络代码 41
2.4 集成网络与GUI 50
2.5 小结 53
第3章 “一心多用”:利用多线程提升性能 57
Gary Bennett
3.1 开始编写多线程应用 58
3.1.1 明确何时使用线程 59
3.1.2 理解多线程基础 60
3.1.3 避免线程陷阱 62
3.2 编写Thread the Needle应用 64
3.2.1 构建应用 64
3.2.2 创建线程 70
3.2.3 实现临界区 73
3.2.4 一次停止多个线程 74
3.3 小结 75
第4章 手指总动员:多指触控界面设计与实现 79
Matthew “Canis” Rosenfeld
4.1 了解iPhone的功能 80
4.2 多指触控设计 82
4.3 研究多指触控API 84
4.3.1 处理事件 85
4.3.2 识别手势 87
4.4 实现多指触控控件 89
4.4.1 处理触控 90
4.4.2 确定移动的含义 93
4.4.3 应用移动 95
4.4.4 应用重量和惯性 96
4.4.5 集成 98
4.5 小结 99
第5章 基于cocos2d-iPhone框架的物理学、Sprite和动画 103
Benjamin Jackson
5.1 游戏编程入门 104
5.1.1 OpenGL ES简介 104
5.1.2 cocos2d 和Chipmunk简介 105
5.2 开发Arcade Hockey 105
5.2.1 跟踪用户手指 107
5.2.2 检测碰撞 109
5.2.3 在2D空间中模拟3D光照 112
5.3 创建一个简单的应用 113
5.3.1 建立Xcode工程 113
5.3.2 设置场景 115
5.3.3 创建游戏层 115
5.4 小结 123
第6章 流式音频与Pandora Radio之路 127
Neil Mix
6.1 选择iPhone开发 127
6.2 Pandora Radio技术介绍 128
6.2.1 掌握音频开发基本知识 128
6.2.2 管理复杂性 130
6.2.3 示例应用概要介绍 130
6.2.4 流式音频 130
6.2.5 保证代码与格式无关 132
6.2.6 使用信封和编码 132
6.3 设计示例应用 132
6.4 实现播放器 135
6.4.1 AudioSession 135
6.4.2 AudioRequest 136
6.4.3 AudioFileStream 138
6.4.4 AudioQueue 140
6.4.5 AudioPlayer 140
6.5 新的征程 141
6.5.1 慢速网络中的滞后 141
6.5.2 中断的连接 143
6.5.3 尽量缩小歌曲间隙 143
6.5.4 恢复歌曲 144
6.5.5 改善应用响应性 144
6.6 查找帮助资源 144
6.7 测试:最好的留到最后 145
6.8 小结 145
第7章 利用Core Location、XML和SQLite成就Routesy之路 149
Steven Peterson
7.1 从头开始 150
7.2 确定应用需求 150
7.3 为Routesy创建UI 和类 152
7.4 为Routesy引入实时预报 169
7.5 为Routesy增加基于位置的信息 179
7.6 Routesy BART画龙点睛 183
7.7 小结 187