图书目录

目    录

 

第1章  了解ActionScript 3.0 1

1.1  ActionScript的历史 1

1.2  认识舞台和主时间轴 2

1.2.1  舞台(Stage) 2

1.2.2  主时间轴(Main Timeline) 4

1.2.3  理解舞台和主时间轴 7

1.3  了解变量 8

1.3.1  定义变量 8

1.3.2  给变量赋值 9

1.3.3  输出变量值 11

1.3.4  重复赋值 12

1.3.5  变量stage与舞台 15

1.3.6  变量root与主时间轴 18

1.4  通过属性面板定义变量 20

1.4.1  控制影片剪辑实例 20

1.4.2  控制动态文本 23

1.5  变量的执行顺序 26

1.5.1  帧的播放顺序 26

1.5.2  图层的加载顺序 26

1.5.3  play()命令无效的问题 27

1.6  了解动作面板 29

1.6.1  动作面板的组成 29

1.6.2  使用代码提示 30

1.6.3  代码折叠 31

1.7  代码注释 34

1.7.1  单行注释 35

1.7.2  多行注释 35

1.7.3  文档注释 36

1.8  代码位置 38

1.8.1  外部文件代码 38

1.8.2  类代码 40

第2章  简单数据类型 43

2.1  数据类型 43

2.1.1  声明数据类型 43

2.1.2  包装类 44

2.2  int类型和int类 45

2.2.1  int类型表示整数 46

2.2.2  取整数的数位 47

2.2.3  了解toString()方法 48

2.3  uint类型与uint类 48

2.3.1  RGB颜色 49

2.3.2  键控代码 50

2.4  Number类型与Number类 50

2.4.1  浮点数 50

2.4.2  注意浮点运算 50

2.5  Boolean类型与Boolean类 51

2.6  String类型与String类 52

2.6.1  定义字符串 52

2.6.2  字符串的索引 53

2.6.3  了解转义符 55

2.7  变量名的命名规则 56

2.7.1  变量名是标识符 56

2.7.2  同一个变量名不能重复定义 57

2.7.3  不能用MovieClip类的属性名

和方法名 59

2.7.4  不能使用关键字 59

2.8  变量的更多知识 60

2.8.1  变量的默认值 60

2.8.2  变量定义与代码优化 62

2.8.3  “*”类型与自动类型转换 63

2.8.4  类型转换函数 66

第3章  复杂数据类型 70

3.1  复杂数据类型 70

3.1.1  包与类 70

3.1.2  使用Stage类 71

3.1.3  new运算符 73

3.2  使用显示类 75

3.2.1  创建MovieClip类的实例 75

3.2.2  创建Bitmap类的实例 77

3.2.3  用反射动态创建实例 79

3.2.4  使用事件 80

3.3  静态方法和静态属性 81

3.3.1  了解Math类 81

3.3.2  事件类的常量属性 81

3.3.3  使用静态方法 83

3.4  理解引用 83

3.4.1  简单数据类型变量 84

3.4.2  复杂数据类型变量 84

3.4.3  比较简单变量和引用变量 85

3.5  垃圾回收 87

3.5.1  引用计数算法 87

3.5.2  标记和清除算法 88

3.5.3  delete与动态类 89

3.6  类型检测与转换 90

3.6.1  typeof()函数 90

3.6.2  is运算符与继承链 91

3.6.3  类型转换函数与as运算符 92

3.7  数组访问运算符 93

3.7.1  创建和访问数组 93

3.7.2  this关键字 94

3.7.3  动态访问属性和方法 94

第4章  流程控制 96

4.1  条件语句 96

4.1.1  if语句 97

4.1.2  if-else语句 102

4.1.3  条件运算符 104

4.1.4  else-if语句 105

4.1.5  if语句的嵌套 106

4.1.6  switch语句 107

4.2  循环语句 109

4.2.1  while循环语句 109

4.2.2  do…while循环语句 113

4.2.3  for循环语句 115

4.2.4  for in循环语句 117

4.2.5  for each in语句 118

4.2.6  循环语句的嵌套 121

4.3  其他语句 124

4.3.1  break语句 124

4.3.2  continue语句 125

4.3.3  label标签语句 126

4.4  帧循环 127

4.4.1  多帧循环 127

4.4.2  enterFrame事件 129

4.5  间隔循环 130

4.5.1  setInterval()函数 130

4.5.2  setTimeout()函数 133

4.5.3  Timer类 133

第5章  函数 141

5.1  认识函数 141

5.2  定义和调用函数 142

5.2.1  用function定义函数 143

5.2.2  用“()”调用函数 145

5.2.3  函数名及引用 146

5.2.4  返回语句 148

5.2.5  如何编写函数 150

5.3  函数的参数 151

5.3.1  形式参数和实际参数 151

5.3.2  值传递和引用传递 153

5.3.3  参数的默认值 155

5.3.4  任意数量的参数 157

5.4  变量的类型 158

5.4.1  局部变量 158

5.4.2  实例变量 159

5.5  函数调用的高级知识 161

5.5.1  arguments类与递归调用 161

5.5.2  Function类与函数调用 162

5.5.3  动态调用函数 165

5.5.4  取代条件语句的技巧 166

5.6  开发3D菜单 168

5.6.1  结构设计 168

5.6.2  把素材导入库中 169

5.6.3  从库中导出图片 170

5.6.4  让图标旋转 171

5.6.5  设置图标的属性 173

5.6.6  添加菜单的交互性 175

第6章  显示对象 179

6.1  初识显示类 179

6.1.1  抽象、继承与

DisplayObject类 180

6.1.2  交互与InteractiveObject类 181

6.1.3  容器与

DisplayObjectContainer类 184

6.2  绘图与Graphics类 187

6.2.1  了解Graphics类 187

6.2.2  编写绘图代码的技巧 188

6.2.3  绘图曲线 190

6.2.4  绘制填充图形 193

6.3  了解显示列表 193

6.3.1  显示列表(display list)与

应用程序架构 194

6.3.2  创建显示列表 195

6.3.3  上一级引用 198

6.3.4  下一级引用 200

6.3.5  关于手工创建的显示列表 202

6.4  深度管理 205

6.4.1  了解深度 205

6.4.2  z顺排列 207

6.4.3  交换深度 208

6.4.4  深度使用技巧 209

6.5  基于时间轴的程序开发 211

6.5.1  【库】面板 211

6.5.2  帧标签与FrameLabel类 212

6.5.3  打方块游戏 213

6.5.4  帧代码与addFrameScript()

函数 218

6.6  预载技术 220

6.6.1  了解LoaderInfo类 221

6.6.2  最简单的预载 221

6.6.3  预载的高级用法 223

6.7  使用动画包 226

6.7.1  使用 Animator类制作

补间动画 226

6.7.2  使用Tween类制作

补间动画 227

6.7.3  使用TransitionManager类制作

过渡效果 230

第7章  事件处理 232

7.1  事件处理概述 232

7.1.1  早期的事件处理模型 232

7.1.2  新事件处理模型的特点 232

7.1.3  事件的发送者 233

7.1.4  事件名 234

7.1.5  事件的接收者 235

7.1.6  事件对象 236

7.1.7  事件类的架构 238

7.2  掌握Event类 239

7.2.1  事件流(event flow) 239

7.2.2  Event类的bubbles

和eventPhase属性 243

7.2.3  Event类的target

和currentTarget属性 244

7.2.4  事件的默认行为(Default 

 behaviors) 246

7.2.5  事件的优先级与事件阻止 247

7.2.6  关于弱引用 251

7.2.7  自定义事件 252

7.3  处理DisplayObject类的事件 253

7.3.1  activate事件和deactivate

事件 253

7.3.2  added和removed事件 254

7.3.3  enterFrame和render事件 255

7.3.4  显示实例与普通实例的

区别 256

7.4  处理交互对象的键盘事件 258

7.4.1  KeyboardEvent类 258

7.4.2  使用组合键 261

7.4.3  使用updateAfterEvent() 263

7.4.4  用类保存键控代码 264

7.5  使用鼠标事件 266

7.5.1  MouseEvent类 266

7.5.2  处理滚轮事件 267

7.5.3  扩展鼠标事件 268

7.5.4  检测鼠标移动的速度 270

7.5.5  批量拖动显示对象 270

7.5.6  检测持续按下鼠标 272

7.5.7  鼠标控制的转盘 274

7.5.8  检测鼠标是否离开了影片 275

第8章  Flash数学基础 277

8.1  坐标与注册点 277

8.1.1  舞台中的坐标 277

8.1.2  中心点和注册点 278

8.1.3  【信息】面板中的坐标 279

8.1.4  影片剪辑实例的坐标 280

8.1.5  全局坐标和本地坐标 281

8.1.6  动态修改注册点 285

8.2  角度 290

8.2.1  手工设置显示实例的角度 290

8.2.2  程序设置角度 292

8.2.3  角度和弧度 292

8.2.4  坐标中的角度 293

8.3  Math类 296

8.3.1  勾股定理 296

8.3.2  正余弦函数 297

8.3.3  正余弦曲线 302

8.3.4  随机方法 303

8.4  二维坐标系统与Point类 305

8.4.1  有向线段 306

8.4.2  定比分点 307

8.4.3  极坐标和笛卡儿坐标 309

8.5  直线与Line类 310

8.5.1  倾斜角与斜率 310

8.5.2  直线方程 313

8.5.3  两直线的交点 314

8.5.4  点到直线的距离 315

8.6  矩形与Rectangle类 317

8.6.1  获取矩形区域 317

8.6.2  DisplayObject类的scollRect

属性 319

8.6.3  缩放与DisplayObject类的

scale9Grid属性 321

第9章  Flash物理基础 326

9.1  速度与运动 326

9.1.1  基于帧的运动 326

9.1.2  基于时间的运动 329

9.2  力与加速度 331

9.2.1  重力 332

9.2.2  弹性力 334

9.2.3  匀速圆周运动 338

9.2.4  两点间的运动 341

9.3  简单碰撞检测 343

9.3.1  形状与形状碰撞 343

9.3.2  点与形状碰撞 345

9.3.3  矩形与形状碰撞 346

9.4  二维向量 348

9.4.1  了解向量 349

9.4.2  向量的表示方法 352

9.4.3  了解Vector类 353

9.4.4  Vector类的构造函数 353

9.4.5  angle和length属性 358

9.4.6  display()方法 363

9.4.7  reset()和clone()方法 363

9.4.8  向量的四则运算 365

9.4.9  点积与标准化 368

9.4.10  向量投影 368

9.5  高级碰撞检测与反应 370

9.5.1  圆与线段的碰撞检测 370

9.5.2  圆与线段的碰撞反应 374

9.5.3  穿墙现象 379

9.5.4  完整的例子 382

第10章  面向对象编程基础 384

10.1  包与类路径 384

10.1.1  了解类的定义 384

10.1.2  编写第一个类 385

10.1.3  使用包 387

10.1.4  类路径 389

10.2  属性 391

10.2.1  成员变量与局部变量 391

10.2.2  实例属性与静态属性 394

10.2.3  控制属性的读写 395

10.3  方法 397

10.3.1  初识构造方法 397

10.3.2  用构造函数传递参数 398

10.3.3  在构造函数中使用this 399

10.3.4  默认构造函数 399

10.3.5  实例方法和静态方法 400

10.4  修饰符 401

10.5  了解继承 403

10.5.1  隐式继承 403

10.5.2  显式继承 404

10.5.3  原型继承 408

10.6  文档类 409

10.6.1  了解文档类 409

10.6.2  文档类与帧代码 411

10.6.3  文档类与界面的联系 415

10.7  链接类 417

10.7.1  自动定义链接类 417

10.7.2  自定义链接类 418

10.7.3  使用swf 资源库 419

10.7.4  类加载与应用程序域 420

10.8  成员与继承 425

10.8.1  无参构造函数 425

10.8.2  有参构造函数 426

10.8.3  override修饰符 428

10.8.4  protected修饰符 431

10.8.5  静态成员 435

10.8.6  final修饰符 437

10.9  类之间的关系 438

10.9.1  基础知识 439

10.9.2  应用——帧频检测 440

10.10  了解接口 444

10.10.1  接口是标准 444

10.10.2  定义接口的语法 445

10.10.3  接口继承 446

10.10.4  接口的实现 446

第11章  设计模式 451

11.1  事件处理与观察者模式 451

11.1.1  观察者模式 451

11.1.2  事件处理机制 453

11.1.3  在类中自定义事件 457

11.2  MVC模式 460

11.2.1  模型设计 460

11.2.2  视图实现 462

11.2.3  控制器实现 463

11.3  工厂模式 464

11.3.1  简单工厂模式 465

11.3.2  工厂方法模式 467

11.4  单例模式 469

11.4.1  静态工厂方法 469

11.4.2  辅助类与单例模式 472

11.4.3  实例——工具提示 475

11.5  模板方法模式 482

11.5.1  抽象类与抽象方法 483

11.5.2  模板方法 484

11.5.3  子类实现 485

11.5.4  优化模式 486

11.6  实例——显示多视图 488

11.6.1  需求介绍与分析 488

11.6.2  编写DefaultView类 489

11.6.3  编写具体内容类 491

11.6.4  多态 493

11.6.5  设计文档类 494

11.7  界面应用程序 498

11.7.1  类图分析 498

11.7.2  模型设计 499

11.7.3  视图设计 501

11.7.4  创建视图 503

11.7.5  控制器设计 505

11.8  迭代子模式 510

11.8.1  了解迭代子模式 510

11.8.2  迭代 511

11.8.3  聚集 512

11.8.4  逆序迭代 513

11.8.5  扩展聚集 515

11.9  合成模式 515

11.9.1  显示类的架构 515

11.9.2  实现合成模式 517

11.9.3  遍历显示对象 519

11.10  装饰模式 521

11.10.1  了解装饰模式 521

11.10.2  使用装饰类 524

11.10.3  装饰显示对象 524

11.11  策略模式 526

11.11.1  了解策略模式 526

11.11.2  统计图 528

第12章  Flash与服务器端程序间的

         通信 531

12.1  ASP简介 531

12.1.1  ASP的特点 531

12.1.2  搭建ASP运行环境 532

12.1.3  体验ASP 538

12.1.4  ASP开发工具 539

12.2  Flash与ASP之间的通信 539

12.2.1  Flash从文本文件获取

 数据 540

12.2.2  Flash从ASP获取数据 542

12.2.3  Flash提交简单数据给ASP 544

12.2.4  Flash提交复杂数据给ASP 547

12.3  Flash与数据库之间的通信 551

12.3.1  Flash读取与修改数据库中的

 数据 551

12.3.2  Flash查询和添加数据库

 数据 556

12.4  Flash结合ASP开发实例 564

12.4.1  文件上传系统 564

12.4.2  天气预报系统 569

12.5  FMS简介 585

12.5.1  FMS的特点 586

12.5.2  搭建FMS服务器 586

12.5.3  配置FMS 588

12.5.4  管理FMS 590

12.6  Flash与FMS之间的通信 593

12.6.1  播放服务器端的视频 593

12.6.2  将视频录制到服务器上 597

12.6.3  文本聊天的实现 601

12.6.4  视频聊天的实现 609

12.7  php简介 615

12.7.1  安装php 615

12.7.2  安装MySQL 621

12.7.3  检查php与MySQL的连接 627

12.7.4  安装AMF 628

12.7.5  读写数据库 630

第13章  高级主题 634

13.1  正则表达式 634

13.1.1  如何判断中文字符 634

13.1.2  正则表达式的作用 635

13.1.3  创建正则表达式 636

13.1.4  使用正则表达式 638

13.1.5  查找和替换英文单词 638

13.1.6  删除头和尾的空白字符 639

13.1.7  了解RegExp类和String类 640

13.1.8  转义 642

13.1.9  使用编码 643

13.1.10  了解元字符 644

13.1.11  数量词 644

13.1.12  匹配的范围 645

13.1.13  组合与或运算 647

13.1.14  查找与替换文本 648

13.1.15  代码加亮 654

13.2  E4X 659

13.2.1  节点 659

13.2.2  节点的属性 661

13.2.3  使用CDATA 663

13.2.4  使用变量创建XML 665

13.2.5  使用外部XML文件 665

13.2.6  加载XML文件 667

13.2.7  选择XML中的数据 668