序言 1
前言 5
第1章核心概念 19
编写ActionScript代码的工具 19
Flash客户端运行时环境 20
编译 21
11快速回顾 21
类和对象 22
创建一个程序 23
包 24
定义一个类 26
虚拟动物园简介 28
构造方法 29
创建对象 30
变量和值 33
构造参数和参量 37
表达式 39
把变量的值赋给另一个变量 40
宠物的一个实例变量 42
实例方法 43
方法与属性 52
虚拟动物园简介 52
休息时间 53
第2章条件和循环 54
条件 54
循环 59
布尔逻辑 66
回到类和对象 69
第3章重访实例方法 70
省略关键字this 71
绑定方法 73
使用方法检查并修改对象的状态 74
获取和设定方法 78
处理未知个数的参数 80
接下来:类层次信息和行为 81
第4章静态变量和静态方法 82
静态变量 82
常量 84
静态方法 86
Class对象 88
C++和Java术语比较 89
继续到函数 89
第5章函数 90
包层次函数 91
嵌套函数 93
源文件层次函数 94
从一个函数内部访问定义 94
函数作为值 95
函数字面量语法 95
递归函数 97
在虚拟动物园程序中使用函数 98
回到类 101
第6章继承 102
继承入门 102
覆盖实例方法 105
子类中的构造方法 108
防止类被扩展和方法被覆盖 111
内建类的子类 112
继承的理论 113
不支持抽象 118
在虚拟动物园程序中使用继承 119
虚拟动物园程序代码 123
是运行的时候了! 125
第7章编译并运行一个程序 126
用Flash Authoring Tool编译 126
用Flex Builder 2编译 127
用mxmlc编译 128
编译器限制 129
编译过程和类路径 130
严格模式对标准模式 130
乐趣还没有结束 131
第8章数据类型和类型检查 132
数据类型和类型标注 133
无类型的变量、参数、返回值和表达式 136
严格模式的三种特殊情况 137
缺少类型标注警告 138
在编译期发现引用错误 139
转型 139
转换为原生类型 143
默认变量值 146
null和undefined 146
在虚拟动物园中的数据类型 147
更多数据类型的学习将会出现 150
第9章接口 151
接口的例子 151
接口和多数据类型类 153
接口语法和使用 154
另一个多类型的示例 156
第10章语句和运算符 162
语句 162
运算符 164
接下来:管理信息链表 167
第11章数组 178
什么是数组 178
剖析一个数组 178
创建数组 179
引用数组元素 181
确定一个数组的大小 182
给一个数组增加元素 184
从一个数组中移除元素 188
用toString()方法检查一个数组的内容 190
多维数组 190
前往事件 191
第12章事件和事件处理 192
ActionScript事件基础知识 192
访问目标对象 199
访问注册监听器的对象 200
阻止默认的事件行为 202
事件监听优先级 203
事件监听和内存管理 204
自定义事件 209
在ActionScript的事件体系结构中的类型弱点 218
跨越安全界限处理事件 221
接下来是什么 224
第13章异常和错误处理 225
异常处理周期 225
处理多个类型的异常 228
异常冒泡 235
finally块 239
嵌套异常 241
在try/catch/finally中的控制流变化 244
处理一个内建异常 247
更多的艰辛工作在前头 247
第14章垃圾回收 248
垃圾回收的适宜对象 248
增量标记和扫除 250
蓄意的对象处理 251
使对象不活动 252
垃圾回收示范 254
在ActionScript的边缘地带 255
第15章动态的ActionScript 256
动态实例变量 257
给一个实例动态地增加新行为 260
动态引用变量和方法 262
使用动态实例变量创建查询表 262
使用函数创建对象 265
使用原型对象来增大类 266
原型链 267
前进 269
第16章作用域 270
全局作用域 271
类作用域 272
静态方法作用域 273
实例方法作用域 273
函数作用域 274
作用域总结 274
内部细节 275
用with语句扩展作用域链 276
前往命名空间 277
第17章命名空间 278
命名空间词汇表 278
ActionScript的命名空间 279
创建命名空间 280
使用一个命名空间来限定变量和方法定义 283
限定标识符 285
一个功能命名空间示例 287
命名空间可访问性 289
限定标识符的可见性 293
比较限定标识符 294
赋给和传递命名空间值 295
开放命名空间和use namespace指令 304
访问控制修饰语的命名空间 307
应用命名空间的示例 309
最后的核心主题 319
第18章XML和E4X 320
理解XML数据为一种层次结构 320
在E4X中表示XML数据 322
用E4X创建XML数据 324
访问XML数据 325
用for-each-in和for-in处理XML 341
访问子孙 343
过滤XML数据 346
遍历XML树 348
改变或创建新的XML内容 349
装载XML数据 358
使用XML命名空间 359
转换XML和XMLList为一个字符串 364
在E4X中的确定等号 367
更多要学习的 370
第19章Flash Player安全限定 371
本章中没有什么 372
本地范围、远程范围和远程区域 372
安全沙盒类型 373
安全概括可能是有害的 375
在内容装载、内容作为数据访问、交叉脚本控制和数据装载上的限定 375
套接字安全 381
示例安全情形 381
选择一个本地安全沙盒类型 384
发布者许可(政策文件) 388
创建者许可(allowDomain()) 401
导入装载 403
处理安全违规 404
安全域 406
两个常见的安全相关的开发问题 408
前往第*部分 410
第20章显示API和显示列表 413
显示API概览 414
显示列表 417
包含事件 439
自定义图形类 449
与事件流一起行进 451
第21章事件和显示的层次结构 452
层次的事件调度 452
事件调度阶段 453
事件监听器和事件流 454
使用事件流来集中代码 461
确定当前的事件阶段 463
区分以一个对象为目标的事件和以该对象的后裔为目标的事件 465
停止一次事件调度 466
事件优先级和事件流 470
显示层次结构转变和事件流 470
自定义事件和事件流 473
前往输入事件 476
第22章交互作用 477
鼠标输入事件 478
聚焦事件 492
键盘输入事件 498
文本输入事件 507
Flash Player层输入事件 519
从程序到屏幕 524
第23章屏幕更新 525
预定的屏幕更新 525
事件后屏幕更新 533
重绘区域 536
用Event*RENDER优化 537
让我们使它移动 543
第24章程序动画 544
没有循环 544
用ENTER_FRAME事件做动画 545
用TimerEvent.TIMER做动画 549
在Timer和Event.ENTER_FRAME之间选择 554
一个一般化动画制作器 555
基于速度的动画 558
前往笔划和填充 559
第25章用矢量绘图 560
Graphics类概览 560
绘制直线 561
绘制曲线 563
绘制形状 565
移除矢量内容 566
示例:一个面向对象的形状库 567
从线条到像素 575
第26章位图编程 576
BitmapData和Bitmap类 577
像素颜色值 577
创建一个新的位图图像 581
装载一个外部的位图图像 583
检验一幅位图 584
修改一幅位图 590
拷贝图形到一个BitmapData对象 596
运用滤镜和特效 607
释放被位图使用的内存 614
文字、文字、文字 615
第27章文本显示和输入 616
创建和显示文本 618
修改一个文本域的内容 624
格式化文本域 627
字体和文本描绘 651
缺失字体和图像字符 662
确定字体可用性 663
确定图像字符的可用性 664
嵌套文本描绘 665
文本域输入 668
文本域和Flash Authoring Tool 672
装载*请稍候 673
第28章装载外部显示资源 674
使用Loader在运行期装载显示资源 675
运行期装载资源的编译期类型检查 691
访问在多帧.swf文件中的资源 699
实例化一个运行期装载的资源 701
使用Socket在运行期装载显示资源 703
移除运行期装载的.swf资源 712
在编译期嵌套显示对象 713
前往第三部分 722
第29章ActionScript和Flash Authoring Tool 725
Flash文件 725
时间线脚本 729
文件类 731
符号和实例 734
Movie Clip符号的连接类 735
访问手工创建的符号实例 739
访问手工创建的文本 744
程序上的时间线控制 745
通过ActionScript实例化Flash制作的符号 746
从程序上创建的显示对象的实例名字 747
连接多个符号到单个超类 748
可供选择的基于组合的连接类 750
预载入类 751
接下来:使用Flex框架 754
第30章一个最小的MXML应用程序 755
通用方法 755
一个真实的UI组件示例 757
和你的朋友们共享 758
第31章发布一个类库 759
共享类源文件 759
以一个.swc文件来发布一个类库 761
以一个.swf文件来发布一个类库 765
但是它真的完结了吗 770
附录最终的虚拟动物园 771