《实战Flash游戏开发 第2版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)格里菲斯著;李鑫,杨海玲译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2012
  • ISBN:9787115276452
  • 页数:428 页
图书介绍:本书可以说是作者在长久工作中的经验浓缩,很多内容都是直扣主题并加以阐发,并不再对基础知识加以赘述。对于Flash的中级开发者来说,这本书实在是能让水平得以升越的绝佳宝典。

第1章 计算机科学并不适合所有人 1

1.1一些基础知识 1

1.2常见游戏类型 1

1.2.1冒险类游戏 1

1.2.2动作类游戏 1

1.2.3益智解谜类游戏 2

1.2.4词汇类游戏 2

1.2.5策略与模拟经营类游戏 3

1.2.6角色扮演游戏 4

1.2.7驾驶类游戏 4

1.2.8桌面式和卡牌式游戏 4

1.3常用开发术语 5

1.3.1伪码 5

1.3.2算法 5

1.3.3过程式编程 5

1.3.4面向对象编程 5

1.3.5设计模式 6

1.3.6类 6

1.3.7 Public、Protected、Private和Internal 7

1.4游戏特有的开发术语 7

1.4.1人工智能 7

1.4.2游戏循环(或主循环) 7

1.4.3游戏视角 8

1.4.4卷动背景 8

1.4.5区块式游戏 8

1.5 Flash程序开发术语 9

1.5.1舞台 9

1.5.2显示对象 9

1.5.3事件和侦听器 9

1.5.4包 9

1.5.5创作时事件、编译时事件及运行时事件 10

1.6醒一醒 10

第2章 最佳编程工具 11

2.1倒叙几句 11

2.2 Flash的一些优点 12

2.2.1玩家占有率 12

2.2.2灵活性 12

2.2.3上市速度 12

2.2.4美观性 13

2.3白璧微瑕 13

2.3.1缺点:代码编辑器 13

2.3.2解决方案:使用附加工具 14

2.3.3缺点:性能及内存管理 14

2.3.4解决方案:使用第三方解决方案或自己创建 15

2.3.5缺点:内容调试 16

2.3.6解决方案:使用跟踪输出与自定义工具 16

2.3.7缺点:缺乏内建游戏库和工具 17

2.3.8解决方案:自己开发工具或寻找开源工具 17

2.4不要和Flash对抗 17

2.5 Flash所能创建的内容 18

2.5.1动画与游戏 18

2.5.2应用程序与游戏 18

2.5.3网站与游戏 18

2.5.4 Flash与传统游戏开发 19

2.6最佳创作工具 19

第3章 一份计划抵得上1000片阿司匹林 20

3.1步骤1 20

3.2步骤2 20

3.3步骤3 21

3.4步骤4 23

3.5步骤5 24

3.6步骤6(可选) 26

第4章 //注释太棒了! 29

4.1适当的提醒 29

4.2部分1:类 29

4.2.1包 30

4.2.2类就像文件一样 30

4.2.3构造函数 30

4.2.4常量、变量与方法 31

4.2.5 getter与setter方法 32

4.2.6类标识符 33

4.2.7继承与多态 34

4.2.8接口 36

4.2.9将Flash中的资源与类链接起来 38

4.2.10类与基类 39

4.2.11使用没有类文件的导出元件 41

4.2.12 getDefinitionByName与Casting 41

4.3部分2:事件 42

4.3.1 dispatchEvent方法 42

4.3.2 addEventListener方法、removeEventListener方法以及事件流程中的各阶段 43

4.3.3事件的传播与取消 46

4.3.4自定义事件 46

4.4部分3:错误 47

4.4.1 try、catch、finally 48

4.4.2抛出自定义错误 49

4.5部分4:数据结构与列表 50

4.5.1 Object 50

4.5.2数组 51

4.5.3 Vector 53

4.5.4 Dictionary 53

4.5.5 ByteArray 54

4.5.6到底该使用哪种列表 54

4.5.7自定义数据结构 55

4.6部分5:让所有人都能读懂你的注释 55

4.7部分6:Flash为什么会这么做 56

4.7.1事件流程 56

4.7.2帧脚本 57

4.7.3使用多个SWF文件 59

4.7.4内存垃圾回收 60

4.8本章小结 62

第5章 最低要求与架构师所采用的方法 63

5.1简单地进行封装——类与容器 63

5.2将有关数值存储到变量与常量中 64

5.3不要信任舞台 65

5.4不要使用不理解或不适用的架构或设计模式 65

5.5要把握好向别人展示自己作品的最佳时机 66

5.6转换到架构 66

5.7 OOP概念 66

5.7.1封装 67

5.7.2继承 67

5.7.3多态性 68

5.7.4接口 68

5.8游戏开发中的实用OOP技巧 69

5.9单例模式:一种良好的文档模式 70

5.10本章小结 72

第6章 管理资源与使用图像 73

6.1一种更好的文件格式 73

6.2小议组织库元件 74

6.3使用图像 75

6.4常用的光栅图像格式 76

6.4.1压缩 79

6.4.2平滑 80

6.4.3解块 80

6.4.4外部的图像编辑工具 80

6.5本章小结 82

第7章 让它动起来:ActionScript动画 83

7.1几个术语 83

7.1.1缓动 83

7.1.2序列 84

7.2是否补间?这是个问题 84

7.3由脚本驱动的简单射击游戏 85

7.3.1 Projectile类 85

7.3.2 SimpleShooter类 85

7.4记忆力游戏:补间动画 88

7.4.1 MemoryCard类 88

7.4.2 Memory类 89

7.5本章小结 93

第8章 如雷贯耳:如何使用音频 94

8.1常用音频格式 94

8.2常用导出设置 95

8.3使用外部文件 97

8.4声音编辑工具 98

8.5编写音效脚本 98

8.5.1理解与声音有关的类 99

8.5.2 SoundEngine类 99

8.5.3使用SoundEngine类 111

8.5.4 SoundMixer类 114

第9章 重塑“视频游戏” 116

9.1视频编解码器 116

9.2外部视频应用:过场与菜单 116

9.3 CutsceneManager类 119

9.4时间轴上的视频 125

9.4.1文件尺寸 125

9.4.2库:易于使用与杂乱无章 126

9.4.3性能表现 126

9.4.4自由的动态模糊 126

9.5建立内部视频 126

9.6本章小结 129

第10章 XML与动态内容 130

10.1引入数据:理解URLLoader类 130

10.2 XML 130

10.3 E4X 131

10.4纵横字谜 132

10.4.1 CrosswordTile类 135

10.4.2 CrosswordClue类 138

10.4.3 CrosswordPuzzle类 140

10.5内容并非只有现成的:纵横字谜编辑器 150

10.6数据传送 151

10.7示例:XML与Flash Vars的应用对比 151

10.8本章小结 153

第11章 就是一个词儿:数学 154

11.1 Math类 154

11.2部分1:几何学及三角学 154

11.3简要介绍一下弧度与Pi值 158

11.4 Flash中的3D 161

11.4.1位置 162

11.4.2旋转 162

11.5透视投影 163

11.6 Simple TunnelShooter范例 164

11.6.1基本机制 164

11.6.2所需类文件 164

11.6.3 Tunnel类 165

11.7部分2:物理学 179

11.7.1标量 179

11.7.2矢量 179

11.7.3 Vector3D类 179

11.7.4位移 180

11.7.5速度 180

11.7.6加速度 180

11.7.7摩擦力 180

11.7.8惯性 180

11.7.9物理仿真与假象 181

11.7.10真实性与期望值 181

11.8范例:顶视角的驱动引擎 181

11.8.1 Vehicle类 181

11.8.2Time类 184

11.8.3 Game类 185

11.9范例:顶视角且带有漂移效果的赛车游戏 189

11.10本章小结 192

第12章 别碰我:碰撞检测技术 193

12.1能力与需求 193

12.2 hitTestObject——最基本的检测方法 193

12.3 hitTestPoint——更先进的检测方法 194

12.4半径/距离检测法——极适合圆形的检测方法 199

12.5矩形边框检测法 201

12.5.1新的Enemy类 201

12.5.2 SimpleShooterCollisions类所新增的内容 202

12.5.3该方法的一些不足之处 204

12.6像素级精确的碰撞侦测与物理仿真 205

12.7这些办法都不灵?那就用鸡尾酒疗法 206

第13章 MixUp——简单的游戏引擎 207

13.1主文档 209

13.2 MixUP类 209

13.3Title类 212

13.4 RulesPanel类 212

13.5 Game类 213

13.6接口 216

13.7 GameBoard类 218

13.8 SourceImageEmbedded类 225

13.9 GameHistory类与Results类 227

13.10 SourceImageCamera类 229

13.11本章小结 232

第14章 技术大融合:制作平台游戏 233

14.1平台类型游戏 233

14.2数据流程 234

14.3游戏流程与功能 234

14.3.1游戏背景设定 235

14.3.2关卡设计及墙壁的作用 235

14.3.3出口 235

14.3.4玩家角色 235

14.3.5物品 236

14.3.6敌人 236

14.4关卡文件格式以及资源结构 237

14.4.1关卡的XML文件 237

14.4.2资源 SWF文件 240

14.4.3游戏所用类的概述 240

14.5引擎类 241

14.5.1 ISprite接口 241

14.5.2IPl ayer接口 242

14.5.3IEnemy接口 243

14.5.4IItem接口 243

14.5.5IPortal接口 244

14.6IWall接口 244

14.6.1 PlatformerEvent类 245

14.6.2 PortalDestinations类与PortalRequirement类 245

14.6.3 PlatformerConfig类 246

14.6.4 GridReference类 247

14.7 CollisionGrid类 249

14.8游戏实现类 267

14.9资源类 269

14.9.1 Player类 269

14.9.2 Enemy类 271

14.9.3 Item类 272

14.9.4 Portal类与Wall类 273

14.9.5游戏中的资源 275

14.10本章小结 277

第15章 Marble Runner:我们的第一款手机游戏 278

15.1部分1:开发iOS游戏的最佳实践 278

15.1.1滤镜(包括由PixelBender所创建的滤镜) 279

15.1.2矢量图形(及形状补间) 279

15.1.3文本处理 280

15.1.4补间动画 280

15.1.5绘图API、遮罩以及混合模式 281

15.1.6运行时加载的SWF文件 281

15.2利用GPU 281

15.3代码也很关键 282

15.3.1声明类型 283

15.3.2使用静态属性与函数 283

15.3.3确定最终答案 283

15.3.4放之四海而皆准的垃圾回收 284

15.3.5避免使用极其庞大的架构和库 284

15.3.6减少显示列表层级 285

15.3.7无需用事件来处理函数所擅长之处 285

15.4权衡:继承还是接口 286

15.5程序实例 286

15.5.1 XFL文档 287

15.5.2 Space.as 287

15.5.3 Rock.as 288

15.5.4文档类SpaceRocks.as 290

15.5.5 FrameRateProfiler类 292

15.6部分2:Marble Runner 293

15.7 Accelerometer类 293

15.8加速计数据是如何计算出来的 294

15.9 Marble Runner游戏 295

15.9.1 XFL文件 296

15.9.2游戏所用到的类 296

15.9.3 LabyrinthEngine 297

15.9.4 LabyrinthLevel 303

15.9.5 IBall、IHazard、 IWall 306

15.9.6基本文档类 307

15.9.7标题界面类 309

15.9.8得分排行榜界面类 310

15.9.9 GameClip类 314

15.9.10 Marble类 317

15.9.11HazardPit和StandardWall类 320

15.9.12 Results类 321

15.10游戏设计注意事项 323

15.10.1关卡设计 323

15.10.2风险与回报 323

15.11有待改进之处 324

15.11.1计分 324

15.11.2可拾取物品 324

15.11.3可卷动的关卡 324

第16章 桌上冰球:采用多点触摸的平板电脑多人游戏 325

16.1主题三重奏 325

16.2移动设备的多点触摸输入方式 326

16.3有限状态机 326

16.4利用Box2D来进行物理仿真 327

16.5双人桌上冰球游戏 328

16.5.1 XFL文件 328

16.5.2游戏所用类 329

16.5.3 Main.as 329

16.5.4 Title.as 331

16.5.5 Rules.as 331

16.5.6 GameTouchController.as 333

16.5.7 Game.as 336

16.5.8 AirHockeyEngine.as 345

16.5.9准备创建 353

16.6本章小结 353

第17章 找到就干掉:猎虫行动 354

17.1 bug 354

17.1.1 trace 354

17.1.2 Flash Tracer 356

17.1.3调试器 357

17.2性能与优化 358

17.2.1 FrameRateProfiler类 359

17.2.2 MemoryProfiler类 362

17.2.3 sampler包 366

17.3本章小结 369

第18章 当心恶贼 370

18.1恶意使用 370

18.1.1关闭不再需要的事件侦听器 370

18.1.2为所要接受的输入设置最低延时 371

18.1.3一经发现恶意使用就将游戏关闭 371

18.2数据保护 371

18.2.1内存攻击 371

18.2.2保护要发送与接收的数据 375

18.3 SWF文件保护 376

18.4本章小结 377

第19章 移动开发介绍 378

19.1移动设备:新的热点 378

19.2新增API 379

19.3开发流程:先A后I 379

19.3.1编译 379

19.3.2程序设置与设计 381

19.4第一个iPhone程序 382

19.4.1开发者证书 382

19.4.2 UDID 385

19.4.3 AppID 386

19.4.4供给配置文件 387

19.4.5 DemoApp 388

19.4.6 XFL文件 388

19.4.7文档类 389

19.5仅是开端 394

19.6改变设置 395

19.6.1文档分辨率 395

19.6.2发布设置 396

19.6.3部署 398

19.7本章小结 398

后记 Flash在游戏业中的前景 399

附录A 摄像头与麦克风 400

附录B 本地化 408

附录C JSFL——情人们的JavaScript 415

附录D 使用AMFPHP开发游戏 422