内容简介
第1章 计算机科学并不适合所有人
1.1一些基础知识
1.2常见游戏类型
1.2.1冒险类游戏
1.2.2动作类游戏
1.2.3益智解谜类游戏
1.2.4词汇类游戏
1.2.5策略与模拟经营类游戏
1.2.6角色扮演游戏
1.2.7驾驶类游戏
1.2.8桌面式和卡牌式游戏
1.3常用开发术语
1.3.1伪码
1.3.2算法
1.3.3过程式编程
1.3.4面向对象编程
1.3.5设计模式
1.3.6类
1.3.7 Public、 Protected、 Private 和Internal
1.4游戏特有的开发术语
1.4.1人工智能
1.4.2游戏循环(或者说“主循环”)
1.4.3游戏视角
1.4.4卷动背景
1.4.5区块式游戏
1.5 Flash程序开发术语
1.5.1舞台
1.5.2显示对象
1.5.3事件和侦听器
1.5.4包
1.5.5创作时事件、编译时事件及运行时事件
1.6醒一醒
第2章 最佳编程工具
2.1倒叙几句
2.2 Flash的一些优点
2.2.1玩家占有率
2.2.2灵活性
2.2.3上市速度
2.2.4美观性
2.3白璧微瑕
2.3.1缺点:代码编辑器
2.3.2解决方案:使用附加工具
2.3.3缺点:性能及内存管理
2.3.4解决方案:使用第三方解决方案或自己创建
2.3.5缺点:内容调试
2.3.6解决方案:使用跟踪输出与自定义工具
2.3.7缺点:缺乏内建游戏库
2.3.8解决方案:自己开发工具或寻找开源工具
2.4不要和Flash对抗
2.5 Flash所能创建的内容
2.5.1动画与游戏
2.5.2应用程序与游戏
2.5.3 Flash与Flex
2.5.4网站与游戏
2.5.5 Flash与传统游戏开发
2.6最佳创作工具
第3章 一份计划抵得上1000片阿司匹林
3.1用两句话来描述游戏
3.2为包含所有游戏界面的游戏流程列出提纲或绘制线框图
3.3概述游戏所使用的核心机制
3.4列出所需的资源清单
3.5列出游戏所需的技术清单
3.6用UML建模工具设计类图(可选)
3.7规划步骤的快速回顾
第4章//太棒了!
4.1适当的提醒
部分1类
4.2包
4.3类就像文件一样
4.4构造函数
4.5常量、变量与方法
4.6 getter与setter方法
4.7类标识符
4.8继承与多态
4.9接口
4.10将Flash中的资源与类链接起来
4.11类与基类
4.12使用没有类文件的导出元件
4.13 getDefinitionByName与Casting
部分2事件
4.14 dispatchEvent方法
4.15 addEventList方法、removeEventListener方法以及事件流程中的各阶段
4.16事件的传播与取消
4.17自定义事件
部分3错误
4.18try、 catch、 finally
4.19自定义抛出错误
部分4数据结构与列表
4.20 object
4.21数组
4.22 vector
4.23 Dictionary
4.24 ByteArray
4.25到底该使用哪种列表
4.26自定义数据结构
部分5让所有人都能读懂你的注释
4.27底线
部分6 Flash为什么会这么做
4.28事件流程
4.29帧脚本
4.30使用多个SWF文件
4.31内存垃圾回收
4.32本章小结
第5章 管理资源与使用图像
5.1小议组织库元件
5.2使用图像
5.3常用的光栅图像格式
5.3.1压缩
5.3.2平滑
5.3.3解块
5.3.4外部的图像编辑工具
5.4要点
第6章 让它动起来:ActionScript动画
6.1几个术语
6.1.1缓动
6.1.2序列
6.2是否补间?这是个问题
6.3一个由脚本驱动的简单射击游戏
6.3.1 Projectile类
6.3.2 SimpleShooter类
6.4记忆力游戏:补间动画
6.4.1 MemoryCard类
6.4.2 Memory类
6.5本章小结
第7章 如雷贯耳:如何使用音频
7.1常用音频格式
7.2常用导出设置
7.3使用外部文件
7.4声音编辑工具
7.5编写音效脚本
7.5.1理解与声音有关的类
7.5.2 SoundEngine类
7.5.3使用SoundEngine类
7.5.4 SoundMixer类
第8章 重塑“视频游戏”
8.1视频编解码器
8.2外部视频应用:过场与菜单
8.3 cutsceneManager类
8.4时间轴上的视频
8.4.1文件尺寸
8.4.2库:易于使用与杂乱无章
8.4.3性能表现
8.4.4自由的动态模糊
8.5建立内部视频
8.6本章小结
第9章XML与动态内容
9.1引入数据:理解URLLoader类
9.2 XML
9.3 E4X
9.4纵横字谜
9.4.1 CrosswordTile类
9.4.2 CrosswordClue类
9.4.3 CrosswordPuzzle类
9.5内容并非只有现成的:纵横字谜编辑器
9.6数据传送
9.7示例:XML与Flash Vars的应用对比
9.8本章小结
第10章 就是一个词儿:数学
部分1Math类
10.1几何学及三角学
10.2简要介绍一下弧度与pi值
10.3 Flash中的3D
13.1.1位置
13.1.2旋转
13.1.3透视投影
10.4简单的TunnelShootex范例
10.4.1基本机制
10.4.2所需类文件
10.4.3 Tunnel类
部分2物理学
10.5标量
10.6矢量
10.7 vectOr3D类
10.8位移
10.9速度
10.10加速度
10.11摩擦力
10.12惯性
10.13物理仿真与假象
10.14真实性与期望值
10.15范例:顶视角的驱动引擎
10.15.1 vehicle类
10.15.2 Time类
10.15.3 Game类
10.16范例:顶视图且带有漂移效果的赛车游戏
10.17本章小结
第11章 别碰我
11.1能力与需求
11.2 hitTestobject—最基本的检测方法
11.3 hitTestPoint—更先进的检测方法
11.4半径/距离检测法—极适合圆形的检测方法
11.5矩形边框检测法
11.5.1新的Enemy类
11.5.2 SimpleShooterCollisions 类所新增的内容
11.5.3该方法的一些不足之处
11.6这些办法都不灵?那就用鸡尾酒疗法
第12章 建筑师—由来已久的梦想
12.1 OOP概念
12.1.1封装
12.1.2继承
12.1.3多态性
12.1.4接口
12.2游戏开发中的实用OOP技巧
12.3单例模式:一种良好的文档模式
12.4本章小结
第13章 驿馆闲谈
13.1简单地进行封装—类与容器
13.2将有关数值存储到变量与常量中
13.3不要信任舞台
13.4不要使用不理解或不适用的架构或设计模式
13.5要把握好向别人展示自己作品的最佳时机
13.6本章小结
第14章MixUp—一个简单的游戏引擎
14.1主文档
14.2 Mixup类
14.3 Title类
14.4 RulesPanel类
14.5 Game类
14.6接口
14.7 GameBoard类
14.8 SourceImageEnbedded类
14.9 GameHistory类与Results类
14.10 SourceImageCamera类
14.11本章小结
第15章 技术大融合:制作平台游戏
15.1平台类型游戏
15.2数据流程
15.3游戏流程与功能
15.3.1游戏背景设定
15.3.2关卡设计及墙壁的作用
15.3.3出口(portal)
15.3.4玩家角色
15.3.5物品
15.3.6敌人
15.4关卡文件格式以及资源结构
15.4.1关卡的XML文件
15.4.2资源 SWF文件
15.4.3游戏所用类的概述
15.5引擎类
15.5.1ISprite接口
15.5.2IPlayer接口
15.5.3IEnemy接口
15.5.4IItem接口
15.5.5IPortal接口
15.5.6IWall接口
15.5.7 PlatformerEvent类
15.5.8 PortalDestinations类与PortalRequirement类
15.5.9 PlatformerConfig类
15.5.10 GridReference类
15.5.11 CollisionGrid类
15.5.12 PlatformerEngine类
15.6游戏实现类
15.7资源类
15.7.1 Player类
15.7.2 Enemy类
15.7.3Item类
15.7.4 Portal类与wall类
15.7.5游戏中的资源
15.8本章小结
第16章 独乐不如众乐:开发多人游戏
16.1 RTMFP
16.2 Stratus
16.3 MixUp多人游戏
16.3.1游戏所用的类
16.3.2 SourceImagewebCamera类
16.3.3 ConnectionPanel类
16.3.4 Title类
16.3.5 Results类
16.3.6 Mixup类
16.4本章小结
第17章 找到就干掉:猎虫行动
17.1 Bug
17.1.1 trace
17.1.2 FlashTracer
17.1.3调试器
17.2性能与优化
17.2.1 FrameRateProfiler类
17.2.2 MemoryProfiler类
17.2.3 Sample包
17.3本章小结
第18章 当心恶贼
18.1恶意使用
18.1.1关闭不再需要的事件侦听器
18.1.2为所要接受的输入设置最低延时
18.1.3一经发现恶意使用就将游戏关闭
18.2数据保护
18.2.1内存攻击
18.2.2数据的散列加密
18.2.3拆解数据
18.2.4插入误导性数据
18.2.5保护要发送与接收的数据
18.2.6保护传输数据安全的散列加密法
18.2.7矩阵加密法
18.3 SWF文件保护
18.4本章小结
附录A摄像头与麦克风
附录B本地化
附录C JSFL—情人们的JavaScript
后记