第1章 Flash的基础知识 1
1.1 初识Flash CS6 1
1.1.1 Flash的发展历程 1
1.1.2 动画的概念及原理 2
1.1.3 Flash动画的特点 2
1.1.4 Flash CS6工作界面 3
1.2 图形制作 10
1.2.1 手工绘图工具 10
1.2.2 图形工具 11
1.2.3 颜色工具 11
1.2.4 文本工具 12
1.2.5 Deco工具 13
1.2.6 3D旋转工具和3D平移工具 13
1.3 元件和库 14
1.3.1 元件的类型 14
1.3.2 创建元件 15
1.3.3 库 17
1.4 基本动画制作 18
1.4.1 逐帧动画 18
1.4.2 传统补间动画 20
1.4.3 补间形状动画 23
1.4.4 补间动画 24
1.4.5 动画预设 26
1.5 高级动画制作 26
1.5.1 创建运动引导层动画 26
1.5.2 创建遮罩动画 27
1.5.3 创建骨骼动画 28
第2章 ActionScript 3.0脚本编程语言基础 31
2.1 ActionScript 3.0发展概述 31
2.2 Flash CS6的“动作”面板介绍 32
2.3 ActionScript的语法 36
2.4 ActionScript的数据类型和变量 38
2.4.1 ActionScript的数据类型 38
2.4.2 ActionScript的变量 41
2.5 ActionScript的运算符与表达式 43
2.6 ActionScript的函数 45
2.6.1 认识函数 45
2.6.2 定义函数 46
2.6.3 函数返回值 47
2.6.4 函数调用 47
2.6.5 函数的参数 47
2.6.6 函数作为参数 48
2.7 类和包 49
2.8 显示列表 50
2.8.1 显示对象的一些基本概念 51
2.8.2 DisplayObject类的子类 53
2.8.3 管理显示对象 54
2.9 事件 60
2.9.1 与鼠标相关的操作事件 61
2.9.2 与键盘相关的操作事件 63
2.9.3 帧事件 65
2.9.4 计时事件 67
2.9.5 删除事件侦听器 68
2.9.6 事件流 69
2.10 动作脚本基本命令 70
2.10.1 时间轴控制命令 70
2.10.2 显示输出命令 71
2.11 ActionScript代码的位置 71
2.11.1 在帧中编写ActionScript程序代码 72
2.11.2 在外部类文件中编写ActionScript程序代码 72
2.11.3 一个简单的Flash应用程序 73
第3章 ActionScript 3.0程序控制 76
3.1 选择结构 76
3.1.1 if语句 76
3.1.2 if-else语句 77
3.1.3 switch语句 77
3.2 循环结构 78
3.2.1 for语句 78
3.2.2 for-in和for each-in语句 79
3.2.3 while语句 80
3.2.4 循环的嵌套 80
3.2.5 break和continue语句 80
3.3 影片剪辑的控制 80
3.3.1 影片剪辑元件的基本属性 81
3.3.2 控制影片剪辑元件的时间轴 83
3.3.3 复制与删除影片剪辑 84
3.3.4 拖曳影片剪辑 85
3.4 鼠标、键盘和声音的控制 86
3.4.1 鼠标的控制 86
3.4.2 键盘的控制 86
3.4.3 声音的控制 88
3.5 Flash的文本交互 91
3.5.1 文本类型 91
3.5.2 文本实例名称 92
第4章 面向对象编程基础 98
4.1 对象和类 98
4.1.1 创建自定义的类 98
4.1.2 类的构造函数 101
4.1.3 类的属性的访问级别 102
4.1.4 get()和set()方法 102
4.2 继承 103
4.2.1 继承的定义 103
4.2.2 属性和方法的继承 104
4.2.3 重写 105
4.2.4 MovieClip和Sprite子类 105
4.3 多态 106
4.4 包外类 108
4.5 链接类 109
4.6 文档类 111
4.7 动态类 112
第5章 数组与字符串 114
5.1 数组 114
5.1.1 数组新增元素 115
5.1.2 删除数组中的元素 116
5.1.3 数组排序 116
5.1.4 从数组中获取元素 118
5.1.5 数组转换为字符串 119
5.1.6 多维数组 119
5.2 字符串 122
5.2.1 字符串的定义 122
5.2.2 提取子字符串 122
5.2.3 字符串的拆分和合并 123
5.2.4 获取字符串指定位置的字符 124
5.2.5 在字符串中搜索 124
5.2.6 字符串的大小写转换 125
5.2.7 字符串的比较和排序 125
第6章 ActionScript的绘图功能 127
6.1 Graphics类 127
6.2 绘制图形 128
6.2.1 画线 128
6.2.2 画曲线 129
6.2.3 画矩形 129
6.2.4 画圆 131
6.2.5 画椭圆 132
6.3 位图处理 137
6.3.1 Bitmap类和BitmapData类 137
6.3.2 复制位图里的部分像素 139
6.3.3 使用BitmapData类滚动位图 141
第7章 拼图游戏 143
7.1 拼图游戏介绍 143
7.2 拼图游戏的设计思路 143
7.2.1 制作3×3图块 143
7.2.2 随机排列图块 144
7.2.3 键盘输入信息的获取 145
7.2.4 移动图块的方法 146
7.2.5 判断拼图是否完成的方法 146
7.3 拼图游戏的设计步骤 147
7.3.1 创建Flash文件 147
7.3.2 设计文档类 147
第8章 连连看游戏 150
8.1 连连看游戏介绍 150
8.2 连连看游戏的设计思路 151
8.2.1 连连看游戏的数据模型 151
8.2.2 动物方块的布局 151
8.2.3 连通算法 152
8.2.4 智能查找功能的实现 159
8.3 关键技术 162
8.3.1 使用ActionScript 3.0删除容器的所有子对象 162
8.3.2 Point对象 162
8.4 连连看游戏的设计步骤 163
8.4.1 创建Flash文件 163
8.4.2 设计LinkType类 164
8.4.3 设计文档类 164
第9章 看图猜成语游戏 169
9.1 看图猜成语游戏介绍 169
9.2 看图猜成语游戏的设计思路 169
9.2.1 游戏素材 169
9.2.2 设计思路 170
9.3 看图猜成语游戏的设计步骤 170
9.3.1 创建Flash文件 170
9.3.2 设计影片剪辑 171
9.3.3 动作脚本 171
9.3.4 设计文字方块类(Letter.as) 174
第10章 雷电飞机射击游戏 177
10.1 雷电飞机射击游戏介绍 177
10.2 雷电飞机射击游戏的设计思路 177
10.2.1 游戏素材 177
10.2.2 地图滚动的实现 178
10.2.3 飞机和子弹的实现 179
10.2.4 主角飞机子弹与敌机的碰撞检测 179
10.3 雷电飞机射击游戏的设计步骤 180
10.3.1 创建Flash文件 180
10.3.2 动作脚本 181
第11章 扑克牌金字塔游戏 185
11.1 扑克牌金字塔游戏介绍 185
11.2 扑克牌金字塔游戏的设计思路 186
11.2.1 游戏素材 186
11.2.2 设计思路 187
11.3 扑克牌金字塔游戏的设计步骤 187
11.3.1 创建Flash文件 187
11.3.2 设计Card类 187
11.3.3 设计文档类 189
第12章 黑白棋游戏 194
12.1 黑白棋游戏介绍 194
12.2 黑白棋游戏的设计思路 195
12.2.1 棋子和棋盘 195
12.2.2 翻转对方的棋子 195
12.2.3 显示执棋方的可落子位置 196
12.2.4 判断胜负功能 196
12.3 黑白棋游戏的设计步骤 196
12.3.1 创建Flash文件 196
12.3.2 设计文档类 196
第13章 汉诺塔游戏 204
13.1 汉诺塔游戏介绍 204
13.2 汉诺塔游戏的设计思路 204
13.3 关键技术 206
13.3.1 盘子影片剪辑对象的拖动 206
13.3.2 加载n个盘子对象 208
13.3.3 递归解决汉诺塔盘子移动 208
13.3.4 以动画效果移动盘子 209
13.4 汉诺塔游戏的设计步骤 211
13.4.1 创建Flash文件 211
13.4.2 设计文档类 212
第14章 对对碰游戏 221
14.1 对对碰游戏介绍 221
14.2 对对碰游戏的设计思路 222
14.2.1 游戏素材 222
14.2.2 设计思路 222
14.2.3 动态生成有效的8×8方块 222
14.2.4 寻找3个匹配的方块 223
14.2.5 上方的方块下落 225
14.2.6 在本列上方添加方块 225
14.2.7 查找可能的移动 225
14.3 对对碰游戏的设计步骤 226
14.3.1 创建Flash文件 226
14.3.2 设计文档类 228
第15章 Flappy Bird游戏 233
15.1 Flappy Bird游戏介绍 233
15.2 Flappy Bird游戏的设计思路 234
15.3 Flappy Bird游戏的设计步骤 234
15.3.1 创建Flash文件 234
15.3.2 设计游戏文档类(flappybird.as) 235
第16章 中国象棋 241
16.1 中国象棋介绍 241
16.2 中国象棋的设计思路 242
16.2.1 棋盘的表示 242
16.2.2 棋子的表示 242
16.2.3 走棋规则 243
16.3.4 坐标转换 245
16.3 中国象棋的设计步骤 245
16.3.1 设计棋子类 245
16.3.2 创建Flash文件 247
16.3.3 设计文档类 247
第17章 超级玛丽游戏 258
17.1 超级玛丽游戏介绍 258
17.2 超级玛丽游戏的设计思路 258
17.2.1 游戏素材 258
17.2.2 背景地图的实现 259
17.2.3 播放声音 259
17.2.4 解决主角图像翻转 260
17.2.5 解决多个按键检测 260
17.2.6 整体实现流程 261
17.3 超级玛丽游戏的设计步骤 261
17.3.1 创建Flash文件 261
17.3.2 设计敌人怪物类 263
17.3.3 设计图块类 265
17.3.4 设计地图背景类 266
17.3.5 设计主角类 268
17.3.6 设计场景类 272
17.3.7 设计文档类 273
第18章 智力测试游戏 276
18.1 智力测试游戏介绍 276
18.2 智力测试游戏的设计思路 277
18.3 关键技术 277
18.3.1 组件概述 277
18.3.2 用户界面组件 278
18.3.3 用Flash处理XML.文档数据 283
18.4 智力测试游戏的设计步骤 286
18.4.1 创建Flash文件 286
18.4.2 设计文档类 287
第19章 推箱子游戏 292
19.1 推箱子游戏介绍 292
19.2 推箱子游戏的设计思路 292
19.3 推箱子游戏的设计步骤 294
19.3.1 创建Flash文件并设计影片剪辑 294
19.3.2 设计地图单元类 295
19.3.3 设计地图管理类 295
19.3.4 设计文档类 299
第20章 2.5D游戏 300
20.1 2.5D游戏介绍 300
20.2 2.5D游戏的设计思路 301
20.3 2.5D游戏的设计步骤 303
20.3.1 创建Flash文件 303
20.3.2 设计人物类 304
20.3.3 设计文档类 305
第21章 塔防游戏 315
21.1 塔防游戏介绍 315
21.2 塔防游戏的设计思路 316
21.3 塔防游戏的设计步骤 317
21.3.1 创建Flash文件 317
21.3.2 设计敌人类(Enemy.as) 319
21.3.3 设计炮塔类(Gun.as) 320
21.3.4 设计子弹类(Bullet.as) 323
21.3.5 设计游戏文档类(dMain.as) 323
第22章 两人麻将游戏 333
22.1 两人麻将游戏介绍 333
22.2 两人麻将游戏的设计思路 334
22.2.1 素材图片 334
22.2.2 游戏的逻辑实现 335
22.2.3 碰吃牌判断 335
22.2.4 胡牌算法 337
22.2.5 实现计算机智能出牌 340
22.3 两人麻将游戏的设计步骤 342
22.3.1 创建Flash文件 342
22.3.2 设计麻将牌类(Card.as) 343
22.3.3 设计游戏文档类(Main.as) 345
第23章 关灯游戏 359
23.1 关灯游戏介绍 359
23.2 关灯游戏的设计思路 359
23.3 关灯游戏的设计步骤 360
23.3.1 创建Flash文件 360
23.3.2 设计电灯类(LightClass.as) 360
23.3.3 设计游戏文档类(Main.as) 361
参考文献 366