《Swift游戏开发案例实战》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:刘媛媛编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302395751
  • 页数:348 页
图书介绍:本书是国内第一本Swift游戏开发的图书。全书包含记忆配对、太空侵略者、Simon记忆游戏、迷你高尔夫、银河大战五个游戏。通过这五个实例的讲解,本书着重讲解游戏开发的重点技术,如图形绘制、游戏引擎、音频引擎、用户交互、Sprite Kit、传感器应用等。通过本书的学习,读者更好掌握Swift,进入苹果游戏开发领域。

第1章 开发环境搭配——Xcode的安装与运行 1

1.1 苹果账号 1

1.1.1 苹果账号的成员分类 1

1.1.2 注册免费的苹果账号 1

1.1.3 注册非免费的苹果账号 4

1.2 Xcode的下载和安装 6

1.2.1 App Store中下载和安装Xcode 6

1.2.2 其他网站下载和安装Xcode 9

1.3 绑定苹果账号 10

1.4 更新组件和文档 12

1.5 首次打开Xcode 13

1.6 Xcode的界面介绍 15

1.6.1 导航窗口 15

1.6.2 工具窗口 15

1.6.3 编辑窗口 17

1.6.4 目标窗口 17

第2章 编写第一个Swift程序 19

2.1 运行程序 19

2.2 模拟器的操作 21

2.2.1 模拟器与真机的区别 21

2.2.2 退出应用程序 21

2.2.3 应用程序图标的设置 21

2.2.4 语言设置 23

2.2.5 旋转 26

2.2.6 删除应用程序 27

2.3 编辑界面 27

2.3.1 界面介绍 27

2.3.2 设计界面 29

2.3.3 视图对象库的介绍 31

2.4 编写代码 33

2.5 调试 35

2.6 真机测试 38

2.6.1 申请和下载证书 38

2.6.2 实现真机测试 47

2.7 使用帮助文档 47

第3章 Swift基础语法 49

3.1 常量和变量 49

3.1.1 常量 49

3.1.2 变量 51

3.2 数据类型 52

3.2.1 整数类型 52

3.2.2 浮点类型 54

3.2.3 字符类型 55

3.2.4 布尔类型 55

3.2.5 可选类型 56

3.2.6 类型别名 56

3.3 值的表示——字面值 57

3.3.1 整型字面值 57

3.3.2 浮点型字面值 57

3.3.3 字符型字面值 58

3.3.4 字符串型字面值 58

3.3.5 布尔型字面值 59

3.3.6 元组型字面值 59

3.4 运算符 60

3.4.1 元的介绍 60

3.4.2 赋值运算符 60

3.4.3 一元加运算符 61

3.4.4 一元减运算符 61

3.4.5 算术运算符 61

3.4.6 自增、自减运算符 62

3.4.7 比较运算符 63

3.4.8 逻辑运算符 64

3.4.9 位运算符 65

3.4.10 复合运算符 66

3.4.11 求字节运算符 67

3.4.12 强制解析运算符 67

3.4.13 区间运算符 68

3.4.14 溢出运算符 69

3.5 类型转换 70

3.5.1 整数的转换 70

3.5.2 整数与浮点数的转换 70

3.6 字符串 71

3.6.1 字符串的初始化 71

3.6.2 字符串的操作 71

3.7 集合类型 72

3.7.1 数组 72

3.7.2 字典 73

3.8 程序控制结构 75

3.8.1 顺序结构 75

3.8.2 选择结构 75

3.8.3 循环结构 80

3.8.4 跳转语句 83

3.8.5 标签语句 85

3.9 函数 86

3.9.1 函数的介绍 87

3.9.2 无参函数的使用 87

3.9.3 有参函数的使用 88

3.9.4 函数的参数的注意事项 89

3.9.5 函数的返回值 92

3.9.6 函数类型 94

3.9.7 常用的标准函数 96

3.9.8 函数的嵌套 97

3.10 闭包 99

3.10.1 闭包表达式 99

3.10.2 Trailing闭包 102

3.10.3 捕获值 103

第4章 Swift高级语法 105

4.1 类 105

4.1.1 创建类 105

4.1.2 实例化对象 105

4.1.3 属性 106

4.1.4 方法 110

4.1.5 下标脚本 112

4.1.6 类的嵌套 114

4.1.7 可选链接 117

4.2 继承 118

4.2.1 继承的实现 118

4.2.2 重写 120

4.2.3 禁止重写 124

4.2.4 类型检测 124

4.3 枚举 127

4.3.1 定义枚举 128

4.3.2 定义枚举成员 128

4.3.3 实例化枚举的对象 129

4.3.4 枚举成员与switch语句的匹配 130

4.3.5 访问枚举中成员的原始值 131

4.3.6 相关值 132

4.3.7 定义枚举类型的其他 132

4.3.8 枚举的嵌套 134

4.4 结构 136

4.4.1 定义结构 136

4.4.2 实例化结构对象 137

4.4.3 在结构中定义内容 137

4.5 构造方法和析构方法 140

4.5.1 值类型的构造器 140

4.5.2 类的构造器 143

4.5.3 析构方法 147

4.6 扩展和协议 148

4.6.1 扩展 148

4.6.2 协议 151

4.6.3 可选协议 155

4.6.4 使用协议类型 156

4.6.5 协议的继承 157

4.6.6 协议的组合 158

4.6.7 检查协议的一致性 159

4.6.8 委托 160

4.7 运算符重载 161

4.7.1 算术运算符重载 162

4.7.2 前置运算符和后置运算符重载 162

4.7.3 复合运算符重载 163

4.7.4 比较运算符重载 164

4.7.5 自定义运算符 165

4.8 泛型 168

4.8.1 泛型函数 168

4.8.2 泛型类型 169

4.8.3 具有多个类型参数的泛型 171

4.8.4 类型约束 171

4.8.5 关联类型 172

第5章 iPhone游戏开发基础——记忆配对游戏 176

5.1 游戏介绍 176

5.2 开发游戏之前的准备工作 177

5.2.1 创建项目 177

5.2.2 添加图像 178

5.3 主菜单模块 179

5.4 配对模块 182

5.4.1 设计界面 183

5.4.2 卡牌的翻转 186

5.5 核心功能——卡牌的配对 194

5.5.1 翻转两个卡牌 194

5.5.2 判断卡牌 194

5.5.3 配对成功和失败的操作 195

5.5.4 完成所有配对 197

5.6 配对模块的额外功能 199

5.6.1 猜测次数功能 199

5.6.2 提高游戏的难度 200

5.7 分数榜单模块 202

5.7.1 准备工作 202

5.7.2 界面设计 202

5.7.3 实现分数的显示 205

5.8 关于游戏模块 209

5.9 场景切换 210

5.9.1 什么是场景切换 210

5.9.2 实现场景切换 211

5.9.3 过渡动画效果 213

5.9.4 全部的场景切换 214

第6章 太空侵略者——绘制图像 217

6.1 游戏介绍 217

6.2 开发游戏之前的准备工作 218

6.3 主菜单模板 218

6.4 射击游戏模板 219

6.4.1 准备工作 219

6.4.2 设计界面 220

6.5 添加飞船 221

6.6 移动飞船 223

6.6.1 向左移动 223

6.6.2 向右移动 224

6.7 创建敌人 225

6.7.1 创建单个敌人的创建 225

6.7.2 创建多个敌人 226

6.8 移动敌人 228

6.9 发射子弹 229

6.9.1 飞船的子弹 229

6.9.2 敌人的子弹 231

6.10 场景的切换 234

第7章 太空侵略者2——游戏引擎 236

7.1 游戏介绍 236

7.2 开发游戏前的准备工作 237

7.3 主菜单模块 238

7.4 射击游戏模块 239

7.5 了解状态机 240

7.6 使用代码添加射击游戏界面元素 241

7.6.1 提示界面 241

7.6.2 飞船 243

7.6.3 敌人 248

7.7 检测碰撞 253

7.7.1 敌人的子弹击中飞船的检测 253

7.7.2 飞船的子弹击中敌人的检测 255

7.8 计分功能 256

7.9 歼灭所有敌人 257

7.10 分数榜模块 259

7.10.1 准备工作 259

7.10.2 界面设计 259

7.10.3 实现分数的显示 260

7.11 场景切换 265

第8章 Simon记忆游戏——音频引擎 268

8.1 游戏介绍 268

8.2 开发游戏之前的准备工作 269

8.3 主菜单模块 272

8.4 游戏模块 273

8.4.1 准备工作 273

8.4.2 界面设计 274

8.5 添加颜色提示序列 275

8.5.1 添加提示声音 275

8.5.2 添加颜色提示 278

8.6 玩家猜测 279

8.7 添加背景音乐 281

8.8 游戏模块的额外功能 282

8.8.1 显示游戏处于的关数 282

8.8.2 提高游戏的难度 283

8.9 游戏介绍模块 285

8.10 场景切换 286

第9章 迷你高尔夫——用户交互 288

9.1 游戏介绍 288

9.2 开发游戏之前的准备工作 289

9.3 主菜单模块 290

9.4 游戏模块 291

9.4.1 准备工作 291

9.4.2 界面设计 291

9.4.3 添加高尔夫球 292

9.4.4 移动高尔夫球 293

9.5 用户交互中的不足 296

9.5.1 边界的限定 296

9.5.2 速度限定 297

9.5.3 进洞的限定 297

9.6 杆数显示 300

9.7 游戏界面模块 301

9.8 场景切换 302

第10章 银河大战——Sprite Kit游戏引擎和传感器应用 306

10.1 游戏介绍 306

10.2 创建Game类型项目 307

10.2.1 Game模板类型简介 307

10.2.2 创建项目 308

10.2.3 添加图像和音频文件 309

10.3 主菜单模块 310

10.4 射击游戏模块 311

10.5 为射击游戏界面添加元素 312

10.5.1 准备工作 312

10.5.2 什么是Sprite Kit 313

10.5.3 使用SKSpriteNode添加背景 313

10.5.4 使用SKSpriteNode添加飞船 315

10.5.5 使用SKSpriteNode添加敌人 316

10.6 发射子弹 316

10.6.1 添加子弹 317

10.6.2 通过触摸发射子弹 317

10.7 使用传感器操控飞船 318

10.7.1 传感器介绍 318

10.7.2 判断传感器是否可用 318

10.7.3 实现移动 319

10.8 碰撞检测 322

10.9 分数显示 323

10.9.1 使用SKLabelNode添加显示分数的节点 323

10.9.2 实现分数的显示 324

10.10 添加声音 325

10.10.1 进入射击游戏界面的声音 325

10.10.2 子弹击中敌人的声音 326

10.11 游戏介绍模块 326

10.12 场景切换 327

第11章 应用程序的发布 330

11.1 创建App ID 330

11.2 申请发布证书 331

11.2.1 申请证书 331

11.2.2 申请证书对应的配置文件(Provision File) 333

11.3 准备提交应用程序 335

11.3.1 创建应用及基本信息 335

11.3.2 项目的相关设置 337

11.4 提交应用程序到App Store上 343

11.5 常见审核不通过的原因 348