当前位置:首页 > 工业技术
iOS  7  iPhone  iPad应用开发技术详解
iOS  7  iPhone  iPad应用开发技术详解

iOS 7 iPhone iPad应用开发技术详解PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:刘一道著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111440512
  • 页数:510 页
图书介绍:本书共20章,分四部分。准备篇(第1~2章):初步介绍iOS、Objective—C和Xcode的入门知识,使你了解三者之间的关系,粗略了解它们的发展史;此外,关注了iOS 7的新特性。然后,还大家熟悉Objective—C应用开发环境的搭建,并且初次感受iPhone开发过程。经过这部分的学习使读者对有关iPhone/iPad开发有一个大致的了解,为以后应用开发做准备。语法篇(第3~8章):主要介绍Objective—C语法知识,这部分内容有些枯燥,但却是日后开发过程中必须掌握的基础知识。其中包括类、对象、消息和协议,以及内存管理。重点介绍了Foundation框架常用类的使用方法。基础篇(第9~18章):重点介绍iOS应用开发的框架,使你掌握实际应用开发所需要的基础知识,这一部分是本书的重点。通过本章大家应该掌握多态和多任务、视图和视图控制器、事件和通知、音频和视频。实战篇(第19~20章):列出两个案例,分别是基于iPad的应用程序和基于iPhone的小游戏。希望通过两个案例,把前面学到知识应用到实践中,使读者真正体验和了解软件开发过程。
《iOS 7 iPhone iPad应用开发技术详解》目录

第一部分 准备篇 2

第1章 初识iOS、Obiective-C和Xcode 2

1.1 认识iOS 2

1.1.1 iOS的发展历程 2

1.1.2 iOS的设计和功能特性 3

1.1.3 iOS 7的新特性 5

1.1.4 iOS架构 6

1.1.5 iOS框架 8

1.1.6 iOS系统框架的变迁 11

1.1.7 Mac OS X和iOS平台不同框架的差异性 13

1.1.8 初步了解iOS开发者工具 16

1.2 认识Objective-C 20

1.2.1 发展历程及版本变化 20

1.2.2 语言性能与分析 21

1.2.3 框架和代码的关系 22

1.3 基于非苹果机平台搭建开发环境 23

1.3.1 前期准备 23

1.3.2 创建用于安装Mac OS X的VMWare虚拟机 24

1.3.3 安装Mac OS X 26

1.3.4 安装Xcode SDK 30

1.4 小结 33

第2章 创建你的第一个iOS应用程序 34

2.1 应用程序的实现目标 34

2.2 入门的开始 35

2.2.1 新建一个Xcode项目 35

2.2.2 在模拟器中查看应用程序的效果 37

2.3 启动一个应用程序 39

2.3.1 探究main.m源文件 40

2.3.2 分析属性列表文件 41

2.3.3 查看串联图 41

2.4 检查视图控制器及其视图 43

2.4.1 如何使用检查器 43

2.4.2 更改视图的背景颜色 45

2.5 对视图进行配置和管理 47

2.5.1 新增用户界面元素 47

2.5.2 为按钮增添一个动作 51

2.5.3 为文本框和标签创建插座 53

2.5.4 打开Connections检查器验证连接 56

2.5.5 对文本框进行委托处理 57

2.5.6 让应用程序具有辅助功能 58

2.6 使用视图控制器完成应用程序 59

2.6.1 给用户的名称添加属性 59

2.6.2 实现changeGreeting:方法 60

2.6.3 把视图控制器作为输入文本框的委托 61

2.7 测试应用程序 62

2.7.1 排查和检测代码 62

2.7.2 程序代码清单 63

2.8 小结 64

第二部分 语法篇 66

第3章 Objective-C——构建iOS应用程序的基石 66

3.1 探窥Objective-C语言 66

3.1.1 面向对象语言Objective-C是C语言的超集 67

3.1.2 类和对象 67

3.1.3 方法和发消息 69

3.1.4 属性和存取方法 71

3.1.5 块 72

3.1.6 协议和类别 73

3.1.7 类型和编码策略 74

3.1.8 import语句 76

3.2 Objective-C 2.0新增特性 78

3.2.1 关联引用 78

3.2.2 快速枚举 80

3.2.3 选择器 81

3.2.4 静态类型的使用 84

3.3 进一步认识块 87

3.3.1 块可以带参数和返回值 87

3.3.2 块可以捕获封闭范围内的值 87

3.3.3 在块内捕获变量值的变化 88

3.3.4 块可以作为函数或者方法的参数 89

3.3.5 用类型定义可以简化块语法 90

3.3.6 使用属性可跟踪块 90

3.4 小结 91

第4章 类——构建应用程序的类型对象原型 92

4.1 认识根类 92

4.1.1 NSObject简介 92

4.1.2 根类和协议 93

4.1.3 根类方法 93

4.1.4 根类接口规范 95

4.1.5 根类实例方法和类方法 95

4.2 如何设计类 95

4.2.1 设计接口 96

4.2.2 设计实现 99

4.2.3 如何使用类名 100

4.2.4 如何比较类 101

4.3 类的类型 101

4.3.1 如何指定静态类型 101

4.3.2 类型的自查处理机制 102

4.4 变量 102

4.4.1 局部变量 102

4.4.2 全局变量 103

4.4.3 实例变量 103

4.4.4 静态变量 106

4.4.5 变量的存储类别 108

4.5 属性 108

4.5.1 属性的声明 109

4.5.2 属性的实现 110

4.5.3 属性类型和相关函数 111

4.5.4 属性的类型编码 112

4.5.5 属性重声明 112

4.5.6 修改父类的属性 113

4.5.7 新旧版本属性运行时的区别 113

4.6 方法 114

4.6.1 方法通用格式 114

4.6.2 方法的调用 114

4.7 继承 115

4.7.1 类的继承关系 115

4.7.2 继承父类的实例变量 116

4.7.3 继承父类的方法 116

4.7.4 哪些类需要被继承 117

4.7.5 对象的合成 118

4.8 方法重写 119

4.8.1 方法重写的规则 119

4.8.2 方法重写的使用 120

4.9 方法重载 121

4.9.1 方法重载的规则 121

4.9.2 方法重载的使用 121

4.9.3 调用还是重载 123

4.9.4 重载的类型 123

4.10 类的扩展 125

4.10.1 类别的用法 125

4.10.2 延伸的用法 127

4.11 异常处理 128

4.11.1 如何启用异常处理 128

4.11.2 如何捕捉不同类型的异常 128

4.11.3 如何抛出异常 129

4.12 小结 129

第5章 对象——构建应用程序的重要“活体” 130

5.1 理解对象 130

5.1.1 对象和根类的关系 130

5.1.2 对象如何构建程序 131

5.1.3 对象动态类型 132

5.1.4 对象的生命周期 133

5.2 创建对象 137

5.2.1 对象分配处理的机制 137

5.2.2 对象初始化方法的原型init 137

5.2.3 初始化方法的返回值 139

5.2.4 init方法的实现 140

5.2.5 多个初始化方法和指定初始化方法 141

5.2.6 使用dealloc方法 143

5.2.7 类工厂方法 144

5.3 对象的所有权 144

5.3.1 对象所有权策略有哪些 145

5.3.2 保留计数的处理机制 145

5.3.3 自动释放所有权 146

5.3.4 共享对象的有效性 147

5.3.5 如何获取所有权 148

5.4 回收对象 149

5.4.1 dealloc方法的实现 149

5.4.2 通过引用返回的对象 149

5.4.3 保留循环的处理机制 150

5.4.4 对象的弱引用 150

5.4.5 资源的有效管理 151

5.5 应用对象 152

5.5.1 验证对象的功能 152

5.5.2 比较对象 153

5.5.3 复制对象 153

5.6 小结 154

第6章 消息和协议——对象之间的通信方式 155

6.1 认识消息 155

6.1.1 消息的基本语法 155

6.1.2 消息处理机制 157

6.1.3 获得方法地址 158

6.1.4 使用隐藏的参数 159

6.2 消息发送 159

6.2.1 向nil发送消息 160

6.2.2 向自己发送消息 160

6.2.3 通过发送消息调用父类方法 161

6.3 消息转发 163

6.3.1 消息转发处理机制 164

6.3.2 与多重继承关系 165

6.3.3 与类继承关系 166

6.3.4 与消息代理对象关系 167

6.4 认识协议 167

6.4.1 协议的分类 167

6.4.2 协议对象 169

6.4.3 预定义接口 169

6.4.4 如何使用预定义方法 170

6.4.5 为匿名对象声明方法 171

6.5 应用协议 172

6.5.1 如何采用一个协议 172

6.5.2 如何服从一个协议 172

6.5.3 协议类型校验处理机制 173

6.5.4 如何实现协议嵌套协议 173

6.5.5 如何引用其他协议 174

6.6 小结 175

第7章 Foundation框架——提供基本的系统服务 176

7.1 认识Foundation框架 176

7.1.1 Foundation类层次结构 176

7.1.2 与Core Foundation框架的区别 180

7.1.3 如何引用及查询Foundation框架信息 181

7.1.4 对象的可变性和不变性 183

7.2 创建和使用值对象 184

7.2.1 创建值对象 184

7.2.2 字符串和NSString字面常量 185

7.2.3 NSNumber字面常量 185

7.2.4 日期和时间 186

7.3 创建和使用集 186

7.3.1 将对象按某种顺序储存在数组中 187

7.3.2 将键值对储存在字典中 189

7.3.3 将无序对象储存在集合中 190

7.4 Foundation框架常用类的使用方法详解 190

7.4.1 数字类型 191

7.4.2 字符串类型 193

7.4.3 数组类型 197

7.4.4 字典类型 205

7.4.5 日期类型 207

7.5 小结 209

第8章 内存管理——应用程序高效运行的基础 210

8.1 内存管理基础知识 210

8.1.1 Cocoa的引用计数机制 210

8.1.2 内存管理规则 211

8.1.3 内存管理应用实例 211

8.1.4 内存管理混乱的原因及解决方法 212

8.2 存取方法 214

8.2.1 声明存取方法 214

8.2.2 实现存取方法 214

8.2.3 存取方法的使用 216

8.2.4 实现重置方法 217

8.2.5 应用存取方法常见错误 218

8.3 自动释放池 218

8.3.1 自动释放池工作原理 219

8.3.2 非Application Kit程序中的自动释放池 219

8.3.3 自动释放池和线程 220

8.3.4 作用域和嵌套自动释放池的关系 220

8.3.5 所有权策略 221

8.3.6 如何实现垃圾回收 221

8.4 内存中复制的处理机制 222

8.4.1 深复制和浅复制 222

8.4.2 独立副本 223

8.4.3 使用alloc和init方式复制 223

8.4.4 使用NSCopyObject函数复制 224

8.4.5 可变对象和不可变对象的复制 225

8.4.6 值对象和复制 226

8.5 Nib对象的内存管理 226

8.5.1 插座对象实现的内存管理机制 227

8.5.2 Nib文件实现的内存管理机制 227

8.6 小结 228

第三部分 基础篇 230

第9章 探究iOS应用程序的核心 230

9.1 iOS应用程序核心架构 230

9.1.1 iOS应用程序的生命周期 230

9.1.2 iOS应用程序的主函数 230

9.1.3 应用程序的委托 232

9.1.4 主Nib文件 232

9.1.5 事件处理周期 232

9.1.6 应用程序的基本设置模式 234

9.2 iOS应用程序的核心对象 235

9.2.1 iOS应用程序的常见对象 235

9.2.2 数据模型的定义 237

9.2.3 构建用户界面 239

9.3 iOS应用程序包 241

9.3.1 典型的iOS应用程序捆绑包 242

9.3.2 信息属性列表 243

9.3.3 程序图标和启动图像 246

9.3.4 Nib文件 246

9.4 iOS应用程序关键任务的处理机制 247

9.4.1 初始化和终止 247

9.4.2 响应中断 248

9.4.3 低内存警告 249

9.5 iOS应用程序的行为定制 250

9.5.1 以景观模式启动 250

9.5.2 和其他应用程序的通信 251

9.5.3 定制的URL模式 251

9.5.4 应用程序的偏好设置 253

9.5.5 关闭屏幕锁定 254

9.6 小结 254

第10章 多状态和多任务——iOS功能日趋增强的表现 255

10.1 应用程序的状态 255

10.1.1 状态切换遵循的原则 255

10.1.2 应用程序的状态及切换路径 256

10.2 应用程序启动周期 257

10.2.1 加载进入前台 257

10.2.2 加载进入后台 258

10.2.3 主函数 260

10.2.4 启动处理的机制 260

10.3 响应中断 261

10.3.1 基于警告的中断处理机制 261

10.3.2 中断应激处理 262

10.3.3 通话时用户界面的调整处理 263

10.4 前台与后台之间的切换机制 263

10.4.1 从前台切换到后台的流程 263

10.4.2 转换后台时应激处理 264

10.4.3 后台运行时的内存情况 265

10.4.4 从后台回转到前台的流程 265

10.4.5 在唤醒时处理排队的通知 266

10.4.6 应用程序的终止条件 266

10.5 主运行循环 267

10.5.1 主运行循环的运行机制 267

10.5.2 iOS应用程序中的事件 268

10.6 后台执行和多任务处理 268

10.6.1 判断设备系统多任务是否可用 269

10.6.2 在后台执行有限长度的任务 269

10.6.3 调度本地通知的递送 270

10.6.4 允许在后台运行的任务 271

10.6.5 选择退出后台的执行 271

10.7 小结 271

第11章 视图——iOS应用程序交互的基础 272

11.1 窗口、视图、视图控制器 272

11.1.1 三者之间的关系 272

11.1.2 窗口 273

11.1.3 视图 273

11.1.4 视图控制器 274

11.2 视图的几何属性特征 275

11.2.1 视图坐标系统 275

11.2.2 边框、边界和中心的关系 275

11.2.3 坐标系统变换 277

11.3 视图架构处理 277

11.3.1 视图交互模型 278

11.3.2 视图渲染架构 279

11.3.3 改变视图的层 280

11.3.4 内容模式与比例缩放 280

11.3.5 自动尺寸调整行为 281

11.4 视图的创建和管理 283

11.4.1 创建视图对象 284

11.4.2 视图的标识和命名 284

11.4.3 子视图的添加和移除 285

11.4.4 视图层次中的坐标转换 287

11.4.5 视图的查询 288

11.5 在运行时修改视图 289

11.5.1 实现视图动画 290

11.5.2 配置动画的参数 290

11.5.3 配置动画的委托 291

11.5.4 响应布局的变化 291

11.5.5 重画视图的内容 292

11.5.6 隐藏视图 293

11.6 定制视图对象 293

11.6.1 初始化定制视图 293

11.6.2 绘制视图内容 294

11.6.3 响应事件 295

11.6.4 视图对象的清理 295

11.7 小结 296

第12章 UIKit框架——创建基于触摸的用户界面 297

12.1 UIKit标准视图的分类 297

12.2 显示视图 298

12.2.1 标签 298

12.2.2 图片视图 299

12.2.3 进度条视图 300

12.2.4 等待视图 301

12.3 控件 302

12.3.1 按钮 302

12.3.2 文本框 304

12.3.3 滑块 305

12.3.4 切换开关 306

12.4 导航视图 307

12.4.1 导航栏 307

12.4.2 标签栏 309

12.5 警告视图和动作表单 310

12.5.1 警告视图 310

12.5.2 动作表单 311

12.6 文本和Web视图 313

12.6.1 文本视图 313

12.6.2 Web视图 314

12.7 容器视图 315

12.7.1 表视图 315

12.7.2 滚动视图 319

12.7.3 工具栏 321

12.8 其他常用类型 322

12.8.1 分页控件 322

12.8.2 搜索栏 324

12.9 小结 328

第1 3章 视图控制器——视图的幕后操纵者 329

13.1 视图控制器基础知识 329

13.1.1 视图控制器的功能 329

13.1.2 视图控制器的管理机制 330

13.1.3 视图控制器的分类 331

13.1.4 视图控制器的内容多种展示方式 333

13.1.5 多种视图控制器混合应用 334

13.2 视图控制器的生命周期 335

13.2.1 视图控制器的初始化 336

13.2.2 视图的加载和卸载 336

13.3 标准视图控制器 338

13.3.1 标准视图控制器的功能及使用方法 339

13.3.2 标准视图控制器的应用 340

13.4 分割视图控制器 342

13.4.1 分割视图控制器构建原理及功能 342

13.4.2 分割视图控制器的应用 343

13.5 导航视图控制器 344

13.5.1 导航视图控制器构建原理及功能 344

13.5.2 导航视图控制器的应用 346

13.6 选项卡视图控制器 347

13.6.1 选项卡视图控制器构建原理及功能 347

13.6.2 选项卡视图控制器的应用 349

13.7 翻页视图控制器 349

13.7.1 翻页视图控制器构建原理及功能 349

13.7.2 翻页视图控制器的应用 351

13.8 小结 351

第14章 事件——应用程序的驱动动力 352

14.1 iOS系统中的事件 352

14.1.1 事件是如何驱动应用程序的 352

14.1.2 什么是触摸事件 352

14.1.3 什么是运动事件 353

14.1.4 事件和触摸 354

14.1.5 事件的传递 356

14.1.6 响应者对象和响应者链 356

14.1.7 调整事件的传递 357

14.2 常见手势的处理实例 358

14.2.1 触摸事件处理方法 358

14.2.2 单个和多个触碰手势处理方法 359

14.2.3 检测碰擦手势 360

14.2.4 处理复杂的多点触摸序列 361

14.2.5 触摸事件处理技巧 362

14.3 键盘管理 363

14.3.1 接收键盘通告 363

14.3.2 显示键盘 365

14.3.3 取消键盘 365

14.3.4 移动键盘下面的内容 365

14.4 小结 368

第1 5章 通知——消息的多样化展示 369

15.1 通知的实现原理 369

15.1.1 本地通知 369

15.1.2 推送通知 370

15.1.3 通知的应用场景 371

15.2 通知的相关事务 373

15.2.1 自定义警告声音 373

15.2.2 创建和调度本地通知 373

15.2.3 接收远程通知 375

15.2.4 如何处理通知 377

15.3 推送通知服务 380

15.3.1 推送通知和路径 380

15.3.2 服务的反馈和质量 381

15.3.3 推送通知的安全处理机制 381

15.3.4 通知的负载处理 385

15.4 推送通知的配置和开发 386

15.4.1 沙箱环境和产品环境 386

15.4.2 配置处理流程 387

15.5 实现推送通知服务的通信功能 389

15.5.1 普通提供的通信功能 389

15.5.2 二进制接口和通知的格式 390

15.5.3 服务的反馈 393

15.6 小结 393

第1 6章 Core Data框架——管理应用程序的数据模型 394

16.1 认识Core Data 394

16.1.1 初窥Core Data特性 394

16.1.2 Core Data数据管理机制 395

16.1.3 探究Core Data的本质 396

16.2 Core Data堆栈配置 396

16.2.1 托管对象和上下文 398

16.2.2 读取请求 399

16.2.3 持久化存储协调者 400

16.2.4 持久化存储 401

16.2.5 持久化文档 402

16.2.6 托管对象模型 402

16.3 Core Data模块的运作机制及基础类 402

16.3.1 NSManagedObject-Context类 403

16.3.2 NSManaged-Object类 404

16.3.3 NSManagedObject-Context类 405

16.3.4 NSPersistentStore-Coordinator类 405

16.3.5 NSPersistent-Document类 406

16.3.6 NSFetch-Request类 406

16.4 Core Data堆栈访问技术 407

16.4.1 创建一个新的托管对象上下文 407

16.4.2 读取托管对象模型和实体 407

16.4.3 添加持久化存储 407

16.5 托管对象的管理 408

16.5.1 读取托管对象 408

16.5.2 读取特定的属性值 411

16.5.3 创建托管对象 412

16.5.4 保存托管对象 413

16.5.5 删除托管对象 413

16.6 小结 413

第17章 音频和视频——强大的多媒体功能支持 414

17.1 初识iOS多媒体框架 414

17.1.1 iOS声音处理工具 414

17.1.2 Core Audio框架 414

17.1.3 音频硬件编解码 415

17.1.4 iOS支持的音频回放和录制格式 415

17.1.5 Core Audio音频会话接口 416

17.1.6 iOS系统支持的音频单元 417

17.2 录制音频 417

17.2.1 使用AVAudioRecorder类进行录制 417

17.2.2 用音频队列服务进行录制 418

17.2.3 音频中断处理 419

17.3 播放音频 419

17.3.1 通过iPod媒体库访问接口播放媒体项 419

17.3.2 使用系统声音服务播放短声音及触发振动 420

17.3.3 通过AVAudioPlayer类轻松播放声音 421

17.3.4 用音频队列服务播放和控制声音 423

17.3.5 使用OpenAL播放和定位声音 426

17.3.6 解析音频流 426

17.4 iPhone/iPad音频的最佳实践 426

17.4.1 操作音频的贴士 426

17.4.2 iOS中偏好的音频格式 427

17.5 iOS中的视频 428

17.5.1 录制视频 428

17.5.2 播放视频 428

17.6 小结 429

第18章 设备特性——支持多种功能的应用 430

18.1 识别可用的硬件特性 430

18.2 External Accessory框架的管道机制 430

18.2.1 声明应用程序支持的协议 431

18.2.2 在运行时连接配件 431

18.2.3 处理和流相关的数据 432

18.2.4 监控与配件有关的事件 433

18.3 访问加速计事件 433

18.3.1 配置加速计 434

18.3.2 选择恰当的更新频率 435

18.3.3 从加速计数据中分离重力成分 435

18.3.4 从加速计数据中分离实时运动成分 435

18.3.5 取得当前设备的方向 436

18.4 Core Location框架提供定位服务 436

18.4.1 获取用户的当前位置 436

18.4.2 获取方向相关的事件 438

18.5 Map Kit框架提供地图服务 439

18.5.1 在用户界面中加入地图视图 440

18.5.2 缩放和移动地图内容 440

18.5.3 显示用户的当前位置 441

18.5.4 坐标和像素之间的转换 441

18.5.5 通过反向地理编码器获取地标信息 441

18.6 地图上注解的实现 442

18.6.1 在地图视图上显示注解 442

18.6.2 添加和移除注解对象 443

18.6.3 定义注解视图 443

18.6.4 创建注解视图 443

18.6.5 处理注解视图中的事件 444

18.7 UIKit框架的应用 447

18.7.1 显示照相机界面 447

18.7.2 关闭照相机界面 448

18.7.3 显示照片选取器界面 449

18.8 使用邮件编辑界面 450

18.9 小结 451

第四部分 实战篇 454

第19章 iPad应用开发实战——精灵小书柜 454

19.1 系统的总体设计方案 454

19.1.1 系统模块组成 454

19.1.2 启动项目 455

19.2 组装书柜 458

19.2.1 书柜的实现 459

19.2.2 书柜的框架及组装 460

19.2.3 设置书柜的显示效果 461

19.3 在小书柜上展示书的封面 462

19.3.1 构建书的封面 462

19.3.2 将书的封面展示在书柜中 463

19.3.3 构建多面书柜 463

19.3.4 通过手势展示多面书柜 465

19.4 阅读书的内容 465

19.4.1 设计内容显示的模板 465

19.4.2 书的封面与内容关联 466

19.4.3 动画效果翻页 469

19.4.4 返回书柜主界面 470

19.5 小结 471

第20章 iPhone应用开发实战——弹球游戏 472

20.1 认识游戏引擎 472

20.1.1 Cocos2D游戏引擎 472

20.1.2 Box2D物理引擎 473

20.1.3 Chipmunk物理引擎 474

20.1.4 游戏引擎组成结构 474

20.1.5 物理引擎中的刚体 476

20.2 Cocos2D框架中的常用类 476

20.2.1 节点类CCNode 476

20.2.2 场景类CCScene 477

20.2.3 层类CCLayer 479

20.2.4 标签类CCLabel 480

20.2.5 动作类CCAction 481

20.2.6 导演类CCDirector 482

20.2.7 精灵类CCSprite 483

20.3 弹球游戏的准备工作 483

20.3.1 弹球游戏实现目标 483

20.3.2 安装Cocos2D-iPhone 484

20.3.3 启动项目的创建 485

20.3.4 程序控制权的转交 486

20.4 实现场景及其互动对象 489

20.4.1 添加自定义的游戏场景 489

20.4.2 创建场景类GameScene 489

20.4.3 创建World对象和边界框 491

20.5 制作弹球 492

20.5.1 添加弹球精灵 492

20.5.2 创建弹球body并添加冲力 493

20.5.3 使用tick方法刷新对象 493

20.6 设计球拍 494

20.6.1 增加球拍 494

20.6.2 移动球拍 496

20.6.3 限制球拍 497

20.6.4 球反弹的优化处理 498

20.7 方块的实现 498

20.7.1 增加方块 499

20.7.2 销毁方块 500

20.8 游戏逻辑处理 501

20.8.1 碰撞检测机制 501

20.8.2 球碰到屏幕底部 502

20.8.3 游戏结束的条件 504

20.8.4 添加游戏结束场景 505

20.9 添加游戏音乐 507

20.10 小结 507

返回顶部