第1篇 ActionScript3.0语言基础 2
第1章 ActionScript3.0概述 2
1.1 ActionScript概述 2
1.1.1 ActionScript环境 2
1.1.2 ActionScript3.0特性 3
1.1.3 ActionScript3.0代码组织 5
1.2 ActionScript3.0API概览 5
1.3 小结 8
第2章 搭建ActionScript3.0开发环境 9
2.1 搭建基于Flash CS3 IDE的开发环境 9
2.1.1 安装Flash CS3 ID 9
2.1.2 安装Flash CS3 IDE update9.0.2 11
2.1.3 在Flash CS3 IDE下创建ActionScript3.0项目 11
2.2 搭建基于Flex的开发环境 13
2.2.1 安装Flex Builder3 13
2.2.2 在Flex Builder3下创建ActionScript3.0项目 15
2.3 服务端部署 16
2.3.1 安装JDK 16
2.3.2 安装Tomcat服务器 18
2.3.3 Tomcat集成RED5服务器 20
2.4 安装Visual Basic6.0 22
2.5 小结 23
第3章 ActionScript3.0语法 24
3.1 变量 24
3.1.1 变量声明 24
3.1.2 变量赋值 25
3.1.3 变量的生存周期 26
3.2 基本数据类型 27
3.2.1 Object类型 28
3.2.2 int类型 28
3.2.3 uint类型 29
3.2.4 Number类型 30
3.2.5 Boolean类型 32
3.2.6 String类型 33
3.2.7 Null类型 34
3.2.8 void类型和*类型 34
3.3 动态数据类型检查 35
3.4 变量的类型转换 37
3.5 ActionScript 3.0语法 38
3.5.1 大小写敏感 38
3.5.2 字面量 38
3.5.3 分号 39
3.5.4 点号 39
3.5.5 括号 39
3.5.6 常量 40
3.5.7 注释 41
3.5.8 关键字与保留字 41
3.6 操作符 42
3.6.1 ActionScript 3.0的运算规则 42
3.6.2 初始化操作符 43
3.6.3 数学操作符 43
3.6.4 位运算符 45
3.6.5 赋值操作符 47
3.6.6 关系操作符 47
3.6.7 逻辑操作符 48
3.6.8 条件操作符 49
3.6.9 E4X操作符 49
3.7 条件语句 50
3.7.1 if&else语句 50
3.7.2 switch语句 53
3.8 循环语句 55
3.8.1 while语句 55
3.8.2 do&while语句 56
3.8.3 for语句 56
3.8.4 for&in语句 57
3.8.5 for each&in语句 58
3.8.6 break与continue 59
3.9 函数 60
3.9.1 函数的基本概念 60
3.9.2 函数定义与调用 60
3.9.3 函数的参数 63
3.9.4 函数的返回值 66
3.9.5 函数对象 66
3.9.6 函数的生存周期 67
3.9.7 递归函数 68
3.9.8 全局函数 69
3.10 小结 72
第2篇 ActionScript 3.0面向对象特性 74
第4章 ActionScript 3.0面向对象编程 74
4.1 面向对象编程 74
4.1.1 对象的世界 74
4.1.2 具体与抽象 75
4.2 类 75
4.2.1 类的定义 76
4.2.2 类的属性 78
4.2.3 类的方法 80
4.2.4 对象成员与静态成员 83
4.2.5 this关键字 84
4.2.6 动态类 85
4.3 接口 86
4.3.1 接口定义 86
4.3.2 接口实现 87
4.3.3 接口应用 87
4.4 继承 89
4.4.1 实现继承 89
4.4.2 对象成员的继承 90
4.4.3 静态成员继承 93
4.5 包 94
4.5.1 创建包 94
4.5.2 类路径 95
4.5.3 使用包 98
4.6 订单利润计算示例 99
4.6.1 需求分析 99
4.6.2 编写代码 100
4.7 小结 103
第5章 ActionScript 3.0中的String对象 104
5.1 创建String对象 104
5.2 字符串处理 105
5.2.1 字符处理 105
5.2.2 字符串比较 107
5.2.3 裁割与连接 108
5.2.4 查找、匹配与替换 110
5.2.5 提取子串 112
5.2.6 大小写转换 113
5.2.7 空白处理 114
5.3 制作文字移动效果 115
5.4 小结 116
第6章 ActionScript 3.0中的Array类型 117
6.1 索引数组 117
6.1.1 创建索引数组 117
6.1.2 数组元素的语句遍历 118
6.1.3 数组元素的函数遍历 120
6.1.4 元素处理 123
6.1.5 数组复制 126
6.1.6 查找与匹配 127
6.1.7 数组排序 128
6.1.8 数组与字符串 131
6.2 关联数组 131
6.2.1 Object类实现的关联数组 132
6.2.2 Dictionary类实现的关联数组 132
6.3 多维数组 133
6.4 太阳系行星排序示例 135
6.5 小结 138
第7章 ActionScript 3.0中的日期和时间 139
7.1 日期与时间 139
7.1.1 创建日期对象 139
7.1.2 日期对象的属性与方法 140
7.1.3 日期格式化 143
7.2 时间间隔 144
7.2.1 使用Timer类 144
7.2.2 秒表示例 146
7.3 小结 149
第8章 ActionScript 3.0异常处理 150
8.1 ActionScript 3.0异常 150
8.1.1 异常概述 150
8.1.2 异常分类 150
8.2 ActionScript 3.0调试方法 152
8.2.1 Flash Player的调试版本 152
8.2.2 在Flash CS3 IDE中调试 152
8.2.3 在Flex Builder 3中进行调试 155
8.3 处理ActionScript 3.0中的异常 160
8.3.1 使用try…catch&finally语句 160
8.3.2 throw语句主动抛出异常 162
8.3.3 处理异常事件 163
8.4 异常类型 163
8.4.1 异常对象 164
8.4.2 异常分类 164
8.4.3 自定义异常类型 166
8.5 小结 167
第3篇 ActionScript 3.0可视化编程 170
第9章 可视化编程基础 170
9.1 可视化编程模型 170
9.1.1 可视化编程概述 170
9.1.2 可视对象 172
9.1.3 可视对象列表 175
9.1.4 可视对象管理函数 181
9.2 文档类绑定和元件类绑定 194
9.2.1 Flash文档类绑定 195
9.2.2 元件类绑定 196
9.3 小结 198
第10章 对象交互与事件处理 199
10.1 ActionScript 3.0事件模型 199
10.1.1 事件流 200
10.1.2 事件侦听器 204
10.2 事件对象 208
10.2.1 事件类型基类Event 208
10.2.2 鼠标事件类型MouseEvent 211
10.2.3 键盘事件KeyboardEvent 213
10.2.4 文本事件类TextEvent 214
10.2.5 焦点事件FocusEvent 214
10.2.6 计时器事件TimerEvent 216
10.2.7 HTTP状态事件HTTPStatusEvent 216
10.2.8 网络状态事件NetStatusEvent 216
10.2.9 进度事件ProgressEvent 217
10.2.10 异步异常事件ErrorEvent、IOErrorEvent.SecurityErrorEvent 218
10.2.11 全屏事件FullScreenEvent 219
10.3 虚拟键盘示例 220
10.4 小结 224
第11章 ActionScript3.0可视对象 225
11.1 可视对象类DisplayObject 225
11.1.1 可视对象列表 225
11.1.2 位置、尺寸、透明度与可见性 227
11.1.3 缩放与旋转 228
11.1.4 坐标体系 231
11.1.5 背景色 232
11.1.6 区域与范围 233
11.1.7 色彩调整 235
11.1.8 遮罩 236
11.1.9 位图缓存 237
11.1.10 混合模式 238
11.2 舞台对象Stage 239
11.2.1 图像品质与帧频 239
11.2.2 缩放与对齐 240
11.2.3 焦点控制 242
11.2.4 交互控制 242
11.2.5 全屏控制 243
11.3 容器对象Sprite 245
11.3.1 按钮模式 245
11.3.2 热区 246
11.3.3 对象拖放 247
11.4 影片剪辑MovieClip 248
11.5 加载器Loader 251
11.6 按钮对象SimpleButton 254
11.7 文本框TextField 255
11.7.1 文本类型 255
11.7.2 外观控制 256
11.7.3 设置文本 256
11.7.4 处理HTML 258
11.7.5 输入限制 260
11.7.6 文本格式化 260
11.7.7 多行模式 262
11.7.8 适应与滚动 263
11.7.9 选区 264
11.7.10 字体嵌入 265
11.7.11 事件处理 268
11.8 小结 269
第4篇 ActionScript 3.0数据处理 272
第12章 数字类型与数学运算 272
12.1 数字类型概述 272
12.2 Math类 273
12.2.1 角度与弧度 273
12.2.2 Math常量 273
12.2.3 最大值、最小值与绝对值 274
12.2.4 数值舍入与随机函数 274
12.2.5 幂运算与开方运算 275
12.2.6 对数函数 276
12.2.7 坐标与弧度 276
12.2.8 三角函数 277
12.3 求解一元二次方程示例 278
12.4 小结 279
第13章 XML应用基础 280
13.1 了解XML 280
13.2 处理XML数据 283
13.2.1 初始化XML对象 283
13.2.2 访问与遍历 285
13.3 XML对象 288
13.3.1 XML对象的数据处理方式 288
13.3.2 处理子节点 289
13.3.3 访问XML数据 293
13.3.4 处理命名空间 294
13.4 网络图片加载器示例 295
13.5 小结 298
第14章 正则表达式与字符串匹配 299
14.1 正则表达式概述 299
14.2 正则表达式语法 300
14.2.1 创建对象 300
14.2.2 字符、元字符与元序列 301
14.2.3 字符集 306
14.2.4 组 307
14.3 标记、属性与方法 310
14.3.1 正则表达式的标记与属性 310
14.3.2 正则表达式的方法 314
14.4 小结 315
第5篇 ActionScript 3.0图形编程 318
第15章 ActionScript 3.0中的几何对象 318
15.1 Point对象 318
15.1.1 创建Point对象 318
15.1.2 距离计算 319
15.1.3 中间点 319
15.1.4 极坐标转换 319
15.1.5 坐标计算 320
15.1.6 坐标缩放 320
15.2 矩形对象 321
15.2.1 创建Rectangle对象 321
15.2.2 确定矩形位置 321
15.2.3 调整矩形 322
15.2.4 位置关系判定 324
15.3 矩阵对象 325
15.3.1 初始化Matrix对象 326
15.3.2 矩阵应用 327
15.4 小结 328
第16章 ActionScript 3.0图形绘制 329
16.1 绘制矢量图形 329
16.1.1 位图与矢量图 329
16.1.2 绘制矢量图 330
16.2 使用线条 330
16.2.1 设置线条样式 331
16.2.2 直线与曲线 332
16.3 使用填充 334
16.3.1 单一色填充 335
16.3.2 渐变色填充 336
16.3.3 位图填充 337
16.4 图形绘制函数 338
16.4.1 内置图形绘制函数 338
16.4.2 绘制三角形 340
16.4.3 绘制正多边形 340
16.5 白板示例 341
16.6 小结 345
第17章 ActionScript 3.0运动编程 346
17.1 运动编程原理 346
17.1.1 物体移动 346
17.1.2 坐标计算 348
17.2 简单物理引擎 352
17.2.1 运动的物理原理 352
17.2.2 创建物理引擎 354
17.2.3 匀速直线运动 363
17.2.4 匀加速运动 364
17.2.5 圆周运动 365
17.2.6 卫星绕地运动 366
17.3 小结 368
第18章 位图处理 369
18.1 位图对象 369
18.1.1 位图格式 369
18.1.2 位图图像与位图数据 370
18.1.3 创建位图对象 370
18.1.4 载入位图对象 371
18.2 处理位图数据 371
18.2.1 位图复制 372
18.2.2 像素处理 376
18.2.3 位图填充 378
18.2.4 生成噪点 379
18.2.5 图像滚动 381
18.2.6 色彩调整 382
18.2.7 阀值处理 383
18.2.8 图像混合 384
18.3 位图画板示例 386
18.4 小结 392
第19章 ActionScript 3.0滤镜 393
19.1 使用滤镜 393
19.1.1 滤镜原理 393
19.1.2 对可视对象应用滤镜 394
19.1.3 对位图数据应用滤镜 395
19.2 投影滤镜 396
19.3 发光滤镜 398
19.4 渐变发光滤镜 399
19.5 模糊滤镜 401
19.6 斜角滤镜 403
19.7 渐变斜角滤镜 404
19.8 色彩矩阵滤镜 406
19.9 矩阵盘绕滤镜 408
19.10 置换滤镜 410
19.11 滤镜切换的相册示例 412
19.12 小结 415
第6篇 ActionScript 3.0多媒体编程 418
第20章 音频编程 418
20.1 音频概述 418
20.2 播放声音 418
20.2.1 音频嵌入 419
20.2.2 音频载入 420
20.2.3 流式音频 422
20.3 播放控制 424
20.3.1 缓冲控制 424
20.3.2 回放控制 424
20.3.3 音效控制 425
20.4 MP3播放器 425
20.5 使用麦克风 434
20.5.1 获取麦克风 434
20.5.2 回环模式 435
20.5.3 静音设置 436
20.6 录制音频到RED5服务器 436
20.7 小结 442
第21章 视频编程 443
21.1 FLV视频 443
21.1.1 视频概述 443
21.1.2 视频转换 444
21.2 播放视频 445
21.2.1 视频嵌入 445
21.2.2 组件播放 446
21.2.3 视频载入 447
21.2.4 流式视频 449
21.3 播放控制 450
21.3.1 缓冲控制 450
21.3.2 回放控制 451
21.3.3 视频音效 453
21.4 视频播放器示例 453
21.4.1 视频载入播放器 453
21.4.2 视频流播放器 461
21.5 使用摄像头 467
21.5.1 获取摄像头 467
21.5.2 模式设置 468
21.5.3 本地回放 469
21.5.4 运动检测 469
21.5.5 图像质量 469
21.5.6 视频录制 470
21.6 录制视频到RED5服务器 471
21.7 小结 477
第7篇 ActionScript 3.0数据通信 480
第22章 本地通信 480
22.1 本地连接LocalConnection 480
22.1.1 使用本地连接 480
22.1.2 异域调用 481
22.1.3 应用授权示例 482
22.2 本地数据存储 486
22.2.1 使用SharedObject本地存储 486
22.2.2 用户登录示例 487
22.3 小结 491
第23章 网络通信 492
23.1 处理外部数据 492
23.1.1 请求与参数 492
23.1.2 简单数据发送 493
23.1.3 数据发送与载入 494
23.1.4 图片载入示例 497
23.2 远程数据共享 499
23.2.1 使用远程共享 499
23.2.2 绘图共享示例 500
23.3 Flash Remoting调用远程方法 503
23.3.1 调用远程方法 503
23.3.2 远程调用示例 505
23.4 套接字通信 506
23.4.1 使用套接字通信 506
23.4.2 套接字通信示例 508
23.5 文件上传与下载 512
23.5.1 文件上传 512
23.5.2 文件下载 515
23.5.3 文件上传下载示例 515
23.6 小结 520
第8篇 深入Flash Player 522
第24章 Flash Player的客户端系统 522
24.1 系统类System 522
24.1.1 设置编码 522
24.1.2 内存使用 522
24.1.3 播放器控制 523
24.1.4 剪贴板 523
24.1.5 System类功能示例 524
24.2 获取系统信息 526
24.2.1 使用Capabilities类 527
24.2.2 本地机器特性检测示例 528
24.3 输入法编辑器IME控制 530
24.3.1 使用IME 530
24.3.2 IME控制示例 532
24.4 fscommand()函数 535
24.4.1 使用fscommand()函数 535
24.4.2 fscommad()函数示例 537
24.5 小结 539
第25章 Flash Player的安全特性 540
25.1 安全性概述 540
25.1.1 权限管控模型 540
25.1.2 安全沙箱模型 541
25.2 系统管理员管控 543
25.2.1 使用mms.cfg配置文件 543
25.2.2 全局信任目录管控 548
25.3 用户管控 548
25.3.1 使用Flash Player设置对话框 549
22.3.2 使用全局设置管理器 550
25.3.3 用户受信任目录 553
25.4 Flash Player许可控制 554
25.4.1 内容载入许可 554
25.4.2 交叉域与跨脚本访问许可 555
25.4.3 宿主程序中的安全许可 556
25.4.4 全屏模式安全许可 557
25.4.5 本地连接安全许可 557
25.5 交叉域安全示例 558
25.5.1 创建测试的SWF 558
25.5.2 跨脚本访问测试 562
25.5.3 文本载入测试 563
25.6 小结 564
第26章 Flash Player与宿主程序 565
26.1 使用外部接口Externallnterface类 565
26.1.1 Externallnterface类 565
26.1.2 ActionScript与JavaScript交互 566
26.1.3 ActionScript与桌面程序交互 567
26.2 网页脚本交互示例 568
26.3 桌面应用交互示例 571
26.4 小结 573
第27章 ActionScript打印控制 574
27.1 使用打印作业对象 574
27.1.1 创建与启动打印作业 574
27.1.2 设置打印内容 575
27.1.3 打印调整 576
27.2 打印示例 577
27.3 小结 582
第9篇 Flash AIR入门 584
第28章 创建与部署AIR应用 584
28.1 Adobe AIR运行时安装与配置 584
28.2 使用Flash CS3 IDE创建和部署AIR应用 585
28.2.1 安装Flash CS3 IDE update9.0.3 585
28.2.2 创建和部署AIR应用 585
28.3 使用Flex Builder 3创建和部署AIR应用 588
28.4 AIR应用配置文件 591
28.4.1 应用程序配置 591
28.4.2 初始化窗口设置 595
28.4.3 图标设置 595
28.4.4 关联文件设置 596
28.5 小结 597
第29章 AIR部分特性介绍 598
29.1 AIR本地窗口 598
29.1.1 创建与关闭本地窗口 598
29.1.2 添加窗体内容 600
29.1.3 位置与尺寸 600
29.1.4 窗口层叠控制 602
29.1.5 本地窗口控制示例 602
29.2 访问文件系统 612
29.2.1 目录与文件引用 612
29.2.2 目录与文件浏览 614
29.2.3 目录与文件属性 615
29.2.4 快速载入与保存 616
29.2.5 目录与文件管理 617
29.2.6 目录与文件管理示例 620
29.2.7 文件内容读写 626
29.2.8 文件内容读写示例 629
29.3 访问数据库 632
29.3.1 使用数据库连接 632
29.3.2 建立数据表 634
29.3.3 插入数据 635
29.3.4 设置SQL语句参数 636
29.3.5 查询数据 636
29.3.6 用户注册与登录示例 637
29.4 小结 642
第10篇 实战篇 644
第30章 Adobe AIR应用—本地播放器 644
30.1 分析与设计 644
30.1.1 功能分析 644
30.1.2 界面设计 645
30.1.3 模块设置 647
30.2 建立项目 649
30.3 创建新组件 650
30.3.1 创建滚动容器组件 650
30.3.2 创建复选框组件 653
30.3.3 创建缓冲与播放控制条 655
30.4 创建播放器工具类 656
30.4.1 创建数据库工具类 656
30.4.2 创建字符串工具类 658
30.5 创建数据模块 659
30.5.1 创建MediaFile类 659
30.5.2 创建MediaFileList类 662
30.6 创建播放器事件类 665
30.7 创建播放器内核 666
30.7.1 创建IMediaPlayerCore接口 667
30.7.2 创建播放器内核基类 667
30.7.3 创建MP3播放内核 671
30.7.4 创建FLV播放内核 675
30.8 创建播放器界面 680
30.8.1 创建MediaFileltemUI类 680
30.8.2 创建MediaFileListUI类 682
30.8.3 创建播放列表管理器类 684
30.8.4 创建播放控制面板类 686
30.8.5 创建视频部件 689
30.8.6 创建播放器整体部件 691
30.9 测试主程序 696
30.10 小结 697
第31章 AsWing应用—聊天室程序 698
31.1 分析与设计 698
31.1.1 功能分析 698
31.1.2 界面设计 699
31.1.3 AsWing简介 700
31.2 部署服务端 700
31.3 创建客户端项目 704
31.4 创建聊天室界面 706
31.4.1 创建登录窗口 706
31.4.2 创建用户聊天界面 711
31.5 创建聊天室通信与控制组件 715
31.5.1 定义DataEvent事件类 715
31.5.2 添加IServerApi接口 716
31.5.3 定义HTTP Web应用通信与控制类 716
31.5.4 定义RTMP通信与控制类 719
31.6 测试主程序 722
31.7 小结 723