《零基础学Swift游戏编程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)阿尔扬·艾格斯著;李姣姣译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302512813
  • 页数:370 页
图书介绍:本书针对Apple设备的程序员和技术爱好者而编写,对于Apple发布的最新语言,本书并不要求读者具备其他知识,并从基础内容介绍Swift语言,并实现相关的游戏开发任务。

第1部分 开始编程之旅 1

第1章 Swift语言 3

1.1 计算机和程序 3

1.1.1 处理器和内存 3

1.1.2 程序 3

1.1.3 编程语言 4

1.2 游戏编程 5

1.3 游戏开发 6

1.3.1 小规模程序设计:编辑-编译-运行 7

1.3.2 大规模程序设计:设计-制定规范-实现 7

1.4 构建第一个Swift程序 8

1.5 打造第一款Swift游戏 11

1.6 观察结果 14

1.7 本章小结 15

第2章 游戏编程的基础知识 17

2.1 构建游戏模块 17

2.2 游戏场景 17

2.2.1 游戏循环 18

2.2.2 Swift中的游戏循环 19

2.3 程序的结构 21

2.3.1 应用程序类型 21

2.3.2 函数 22

2.3.3 语法示意图 24

2.3.4 函数调用 25

2.4 程序格式 25

2.4.1 注释 25

2.4.2 指令和多行代码 26

2.4.3 空行、空格和缩进格式 27

2.5 本章小结 27

第3章 创建游戏场景 29

3.1 基本类型和变量 29

3.1.1 类型 29

3.1.2 变量的声明和赋值 30

3.1.3 指令和表达式 33

3.2 运算符和复杂表达式 34

3.2.1 运算符 34

3.2.2 运算符的优先级 34

3.3 其他数值类型 35

3.4 DiscoWorld游戏 37

3.5 变量的作用域 40

3.6 本章小结 40

第4章 游戏数据资源 41

4.1 精灵对象的定位 41

4.2 加载并绘制图像 42

4.3 分辨率和宽高比 43

4.4 移动精灵对象 47

4.5 加载和绘制多个精灵对象 48

4.6 配置设备的方向 50

4.7 音乐和声音 51

4.8 本章小结 53

第2部分 Painter游戏 55

第5章 响应玩家输入 57

5.1 处理触摸输入 57

5.2 利用触摸位置修改游戏场景 60

5.3 基于触摸行为的条件执行 62

5.4 测试替代方案 64

5.5 比较运算符 65

5.6 逻辑运算符 66

5.7 布尔类型 66

5.8 调整颜色 68

5.9 注意事项 72

5.10 本章小结 73

第6章 处理飞行的球体 75

6.1 方法 75

6.2 参数名和标记 79

6.3 默认参数值 82

6.4 将指令整合至方法中 83

6.5 局部坐标系和世界坐标系 85

6.6 向游戏场景中添加球体 86

6.6.1 球体的射击行为 87

6.6.2 更新球体位置 89

6.7 固定时间步和可变时间步 90

6.8 更新球体颜色 92

6.9 本章小结 95

第7章 游戏对象类型 97

7.1 创建同一类型的多个对象 97

7.2 类 98

7.3 独立类中的输入处理 101

7.4 初始化对象 102

7.5 self关键字 105

7.6 利用静态变量访问其他对象 107

7.7 类的双重角色 108

7.8 编写包含多个实例的类 110

7.9 游戏中的随机性 111

7.10 计算随机速度和颜色值 113

7.11 更新油漆桶对象 114

7.12 本章小结 116

第8章 颜色和碰撞检测 117

8.1 表达颜色的不同方式 117

8.2 对象的数据访问 118

8.3 向类中加入计算属性 120

8.4 处理对象间的碰撞 122

8.5 值和引用 124

8.6 结构 127

8.7 本章小结 129

第9章 生命值 131

9.1 维护生命值 131

9.2 向玩家显示生命值 133

9.3 多次执行指令 134

9.4 递增计数器的简化形式 136

9.5 更加紧凑的循环语法 137

9.6 一些特例 141

9.6.1 不产生循环 141

9.6.2 无限循环 141

9.6.3 嵌套循环 142

9.7 重启游戏 143

9.8 本章小结 146

第10章 组织游戏对象 147

10.1 游戏对象间的相似性 147

10.2 继承机制 148

10.3 游戏对象和继承 152

10.4 ThreeColorGameObject的子类 154

10.5 Ball类 156

10.6 PaintCan类 158

10.7 多态 159

10.8 从现有类中继承 160

10.9 类的层次结构 161

10.10 本章小结 163

第11章 完成Painter游戏 165

11.1 添加运动效果 165

11.2 添加音效和音乐 166

11.3 维护积分榜 169

11.4 字符和字符串 170

11.5 特殊字符 171

11.6 添加App图标 171

11.7 其他注意事项 172

11.8 本章小结 174

第3部分 TUt’STomb游戏 175

第12章 高级输入处理 177

12.1 创建Touch对象 177

12.2 数组 179

12.3 字典 182

12.4 可选类型 182

12.5 存储多点触摸 184

12.6 简化触摸输入行为 186

12.7 将触摸事件链接至输入帮助类 188

12.8 拖曳精灵对象 191

12.9 本章小结 192

第13章 游戏物理学 193

13.1 游戏对象的基本类 193

13.2 游戏对象子类 194

13.3 向游戏对象中添加物理行为 195

13.4 交互行为 197

13.5 本章小结 201

第14章 游戏设置程序设计 203

14.1 游戏对象行为 203

14.2 动作 203

14.3 通过动作投掷宝物 205

14.4 其他宝物类型 208

14.5 将宝物变为石头 210

14.6 处理物理碰撞 211

14.7 本章小结 213

第15章 游戏状态 215

15.1 层次处理 215

15.2 添加标题画面 216

15.3 添加按钮并显示帮助对话框 218

15.4 覆盖图 220

15.5 本章小结 223

第16章 完成Tut’sTomb游戏 225

16.1 添加积分值 225

16.2 访问控制 227

16.3 使用自定义字体 228

16.4 添加发光体 230

16.5 添加音乐和音效 231

16.6 本章小结 232

第4部分 Penguin Pairs游戏 233

第17章 菜单和网格 235

17.1 网格布局中的游戏对象 235

17.2 类扩展 240

17.3 设置菜单 242

17.4 添加开/关按钮 243

17.5 定义滑块按钮 245

17.6 计算游戏对象的世界场景位置 245

17.7 Slider类 246

17.8 本章小结 250

第18章 游戏状态管理 251

18.1 基本的游戏管理状态 251

18.2 游戏状态管理器 252

18.3 将名称赋予节点中 253

18.4 添加状态并在其间切换 255

18.5 关卡菜单状态 257

18.6 本章小结 259

第19章 存储和恢复游戏数据 261

19.1 关卡的结构 262

19.2 从文件中读取数据 263

19.3 Tile类 266

19.4 关卡状态 266

19.4.1 利用switch处理各种情形 270

19.4.2 加载不同的贴图类型 272

19.5 维护玩家的进程 274

19.6 本章小结 277

第20章 游戏对象间的交互 279

20.1 定义运算符 279

20.2 企鹅对象的选取操作 280

20.3 更新动物对象 283

20.4 与其他游戏对象间的碰撞 286

20.5 维护配对的数量 289

20.6 本章小结 292

第21章 完成Penguin Pairs游戏 293

21.1 显示提示信息 293

21.2 显示帮助对话框 295

21.3 重置关卡 297

21.4 切换至下一个关卡 297

21.5 加入音效 300

21.6 其他注意事项 301

21.7 本章小结 301

第5部分 Tick Tick游戏 303

第22章 主要的游戏结构 305

22.1 游戏结构概述 305

22.2 关卡结构 306

22.3 水滴 307

22.4 Tile类 308

22.5 LevelState类 310

22.6 本章小结 312

第23章 动画效果 313

23.1 动画的含义 313

23.2 纹理贴图集 314

23.3 Animation类 315

23.4 多重动画 317

23.5 Player类 319

23.6 本章小结 323

第24章 物理知识 325

24.1 在游戏场景中锁定角色 325

24.2 在正确位置处设置角色 326

24.3 跳跃动作 327

24.4 跌倒动作 328

24.5 碰撞检测 329

24.6 获取包围盒 330

24.7 角色与贴图之间的碰撞 330

24.8 处理碰撞检测 332

24.9 本章小结 336

第25章 智能角色 337

25.1 火箭对象 337

25.1.1 创建并重置火箭对象 338

25.1.2 定义火箭对象的行为 339

25.2 巡行的敌方角色 340

25.2.1 基本的PatrollingEnemy类 340

25.2.2 不同的敌方角色类型 343

25.3 其他敌方角色类型 344

25.4 加载不同的敌方角色类型 346

25.5 本章小结 347

第26章 添加交互行为 349

26.1 收集水滴 349

26.2 冰块对象 350

26.3 敌方角色与玩家角色间的碰撞行为 351

26.4 添加垂直和水平方向上的滚屏 355

26.5 本章小结 357

第27章 完成Tick Tick游戏 359

27.1 设置计数器 359

27.1.1 调整计数器 361

27.1.2 计时器为0 362

27.2 添加山峰和云彩 364

27.3 显示帮助对话框 367

27.4 通关后的处理操作 367

27.5 本章小结 370