ActionScript 2.0编程入门经典

ActionScript 2.0编程入门经典
作 者: 德克森 伯格 张蕾
出版社: 清华大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 高级程序语言设计
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  本书提供作译者介绍Nathan Derksen.Nathan Derksen是一位供职于IBM全球服务分部的Web媒体架构师。Nathan在IBM工作了6年多的时间,并且在Web开发领域具有长达9年的从业经验。Kerksen先生是Animation and Effects with Macromedia Flash MX 2004(Jen DeHaan,Macromedia Press)一书的技术编辑,并且是www.flash8forums.com上的Macromedia Flash论坛的版主。可以通过Nathan的个人站点(www.nathanderksen.com)来联系他本人。Jeff Berg..Jeff Berg是一位拥有专利的数字媒体设计师和Flash开发人员。...

内容简介

Action Script 2.0是Macromedia Flash的脚本语言,可用于创建复杂、动态的应用程序,以及给静态Web页面增加趣味性。无论读者感兴趣的是开发动态Web应用程序、构建个人公文包、创建游戏,还是处理媒体,Action Script 2.0可用于广泛的任务,本书将帮助读者充分利用这种脚本语言提供的全部功能。在研究了本书中包含的大量示例之后,读者将发现本书内容遵循由易到难、循序渐进的过程,能够给读者提供一个顺畅的学习体验。每个示例都详细解释了特定代码所做的工作。无论读者具有什么背景,具备哪些技术和艺术技能,或者最终目标是什么,本书都是你的良好起点。本书主要内容:•多种简单的编码约定可以帮助读者创建易于阅读和更新的项目;•如何依据电影剪辑来更改变量和内容;•运行和调试代码的技术;•如何使用绘图API,应用滤镜和混合模式,以及使用新增的Bitmap类;•处理文本以及将可视化样式应用于文本的各种复杂情况;•将图像、声音、视频和实时照相机馈给集成进项目中的方式。本书读者对象:本书适合于有兴趣使用Action Script 2.0编写他们自己代码的读者。读者之前无需具有任何编程经验。

图书目录

第1章 初识Macromedia Flash 1

1.1 开发环境介绍 1

1.1.1 Tools面板 1

1.1.2 Properties面板 3

1.1.3 时间线 3

1.1.4 关键帧和动画 3

1.2 关于库和符号 4

1.2.1 使用Button符号 5

1.2.2 使用Movie Clip符号 7

1.2.3 关于图层、深度和级别 7

1.3 设置脚本环境 8

1.3.1 Actions面板简介 8

1.3.2 探讨ActionScript参数设置 9

1.3.3 探讨Auto Format参数设置 12

1.3.4 发布项目 13

1.3.5 用于检测Flash播放

器的选项 16

1.4 小结 17

1.5 练习 17

第2章 初识ActionScript 2.0 19

2.1 理解语句 19

2.1.1 使用简单的语句 19

2.1.2 使用复合语句 20

2.2 理解运算符 20

2.2.1 使用运算符优先级 22

2.2.2 探讨运算符关联性 22

2.2.3 理解常用运算符 23

2.3 使用空白 24

2.4 使用注释 25

2.5 介绍变量 26

2.5.1 将数据赋予变量 27

2.5.2 查看变量的内容 27

2.5.3 把数据从一个变量传递

到另一个变量 28

2.5.4 命名变量 28

2.5.5 介绍常量 29

2.5.6 使用强变量类型 30

2.5.7 探讨数据类型 33

2.5.8 点语法 37

2.5.9 识别特殊变量和关键字 38

2.6 处理数据的集合 40

2.6.1 理解数组 40

2.6.2 探讨联合数组和对象 46

2.7 小结 50

2.8 习题 51

第3章 了解ActionScript表

达式和循环 52

3.1 决策 52

3.1.1 表达式 53

3.1.2 构建表达式 54

3.1.3 使用if..then..else 58

3.1.4 使用switch..case 59

3.2 了解循环 65

3.2.1 for循环 65

3.2.2 for..in循环 67

3.2.3 while循环 69

3.2.4 do..while循环 70

3.2.5 处理循环错误 74

3.3 小结 77

3.4 习题 78

第4章 探讨ActionScript函数

和作用域 80

4.1 函数 80

4.1.1 函数的工作状况 82

4.1.2 一种替代语法 84

4.1.3 作为参数传递函数 85

4.2 变量作用域 89

4.2.1 管理变量作用域 91

4.2.2 副作用 93

4.3 小结 95

4.4 习题 95

第5章 开始编码 97

5.1 面向对象编程简介 97

5.1.1 定义面向对象编程 97

5.1.2 面向对象编程的目标 102

5.2 编码最佳实践 103

5.2.1 了解变量命名 103

5.2.2 变量类型化 106

5.2.3 注释 111

5.2.4 格式化代码 113

5.2.5 理解变量作用域 114

5.2.6 访问另一个时间线

中的变量 117

5.2.7 创建自己的函数 124

5.3 小结 135

5.4 习题 136

第6章 建立Flash项目 138

6.1 建立库 138

6.2 处理位图图像 139

6.2.1 保持图像在桌面上有组织 139

6.2.2 保持图像在库中有组织 139

6.2.3 把图像嵌入到电影剪辑中 140

6.3 在电影剪辑内嵌套各个部分 142

6.3.1 使用关键帧管理应用

程序状态 143

6.3.2 把代码保存在外部文件中 145

6.3.3 使用脚本管理应用

程序状态 147

6.4 小结 151

6.5 习题 151

第7章 控制电影剪辑 152

7.1 呈现电影剪辑 152

7.1.1 MovieClip类方法 152

7.1.2 MovieClip类属性 167

7.1.3 MovieClip类事件 169

7.2 动态创建电影剪辑 170

7.3 从库中附加电影剪辑 174

7.4 加载外部电影 176

7.4.1 把电影加载进级别中 177

7.4.2 把媒体加载进现有的

电影剪辑中 178

7.4.3 完全限定的URL、绝对

URL和相对URL 179

7.5 把电影剪辑用作遮罩 183

7.6 改进电影剪辑性能 188

7.6.1 位图缓存 188

7.6.2 透明度 189

7.6.3 滤镜和混合模式 189

7.6.4 全屏幕 190

7.7 小结 190

7.8 习题 190

第8章 预加载电影 192

8.1 使用自定义的预加载器 192

8.2 利用onEnterFrame()与

setInterval()轮询 196

8.3 理解MovieClipLoader类 198

8.3.1 MovieClipLoader类事件 198

8.3.2 MovieClipLoader类方法 199

8.3.3 实现MovieClipLoader类 202

8.4 研究Loader和ProgressBar组件 205

8.4.1 Loader组件的方法、

属性和事件 205

8.4.2 ProgressBar组件的方法、

属性和事件 206

8.4.3 实现Loader和

ProgressBar组件 207

8.5 使用预加载器的策略 210

8.5.1 整体式电影方法 210

8.5.2 分块式电影方法 214

8.6 小结 217

8.7 习题 218

第9章 使用组件 220

9.1 版本2.0的新特性 220

9.2 探讨组件 221

9.2.1 数据组件 221

9.2.2 FLV Playback组件和FLV

Playback Custom UI组件 221

9.2.3 用于Flash播放器版本6和7

的媒体组件 223

9.2.4 用户界面组件 223

9.3 手动放置组件 225

9.4 利用脚本把组件放到舞台上 227

9.5 用脚本处理组件 232

9.6 小结 235

9.7 练习 235

第10章 与用户交互 237

10.1 处理事件 237

10.1.1 创建侦听器对象 237

10.1.2 创建侦听器对象的变体 244

10.1.3 创建一个侦听器函数 245

10.1.4 应该使用哪种

侦听器技术 247

10.2 把多个侦听器附加到多个组件上 252

10.2.1 组织侦听器 253

10.2.2 处理来自多个源的事件 253

10.3 手动调用一个组件中的事件 259

10.4 小结 260

10.5 习题 261

第11章 控制组件 262

11.1 介绍Component Inspector面板 262

11.2 使用Bindings选项卡在组件

之间创建数据绑定 263

11.3 把XML文件用作数据源 265

11.4 控制组件外观 269

11.4.1 使用setStyle()更改

组件样式 269

11.4.2 设置组件外观 277

11.5 小结 281

11.6 习题 281

第12章 调试 282

12.1 错误的类型 282

12.1.1 编译时错误 282

12.1.2 逻辑错误 282

12.2 开发调试 288

12.2.1 使代码可读 289

12.2.2 开发小代码块 289

12.2.3 使用短小的函数 290

12.3 调试的科学 290

12.3.1 开发一种理论 290

12.3.2 运行一个实验 292

12.3.3 分析结果 298

12.4 小结 299

12.5 习题 300

第13章 处理矢量图形 303

13.1 使用绘图API 303

13.2 利用ActionScript绘制

矢量的工具 304

13.2.1 lineStyle() 304

13.2.2 beginFill() 305

13.2.3 beginBitmapFill() 306

13.2.4 beginGradientFill() 306

13.2.5 endFill() 307

13.2.6 moveTo() 307

13.2.7 lineTo() 308

13.2.8 curveTo() 308

13.2.9 clear() 308

13.3 利用ActionScript绘制矢量 308

13.4 Matrix对象 317

13.5 小结 317

13.6 习题 318

第14章 应用滤镜效果 319

14.1 DropShadowFilter 319

14.2 BlurFilter 321

14.3 GlowFilter 321

14.4 BevelFilter 322

14.5 GradientGlowFilter 323

14.6 GradientBevelFilter 324

14.7 ConvolutionFilter 324

14.8 ColorMatrixFilter 328

14.9 DisplacementMapFilter 330

14.10 克隆滤镜 331

14.11 应用多个滤镜 331

14.12 应用混合模式 336

14.13 小结 337

14.14 习题 338

第15章 直接处理位图数据 339

15.1 Bitmap对象的方法 339

15.1.1 applyFilter() 340

15.1.2 clone() 340

15.1.3 colorTransform() 340

15.1.4 copyChannel() 341

15.1.5 copyPixels() 341

15.1.6 dispose() 342

15.1.7 draw() 342

15.1.8 fillRect() 342

15.1.9 floodFill() 343

15.1.10 generateFilterRect() 343

15.1.11 getColorBoundsRect() 343

15.1.12 getPixel() 344

15.1.13 getPixel32() 344

15.1.14 hitTest() 344

15.1.15 loadBitmap() 345

15.1.16 merge() 345

15.1.17 noise() 346

15.1.18 paletteMap() 346

15.1.19 perlinNoise() 347

15.1.20 pixelDissolve() 348

15.1.21 scroll() 349

15.1.22 setPixel() 349

15.1.23 setPixel32() 349

15.1.24 threshold() 349

15.2 bitmapData对象的属性 350

15.3 将电影剪辑转换成位图图像 351

15.4 操纵位图数据 351

15.5 小结 353

15.6 习题 353

第16章 把ActionScript用于动画 354

16.1 脚本式动画与非脚本式动画 354

16.2 使用关键帧创建动画 354

16.3 使用ActionScript创建动画 356

16.3.1 使用onEnterFrame()

移动电影剪辑 356

16.3.2 使用setInterval()移动

电影剪辑 359

16.4 基于帧的动画与基于

时间的动画 361

16.4.1 在动画上移动帧

速率的作用 361

16.4.2 应该使用哪一种技术 364

16.4.3 选择帧速率或更新

时间间隔 364

16.5 利用电影剪辑创建动画 365

16.5.1 制作多个电影

剪辑的动画 366

16.5.2 添加随机行为 367

16.5.3 介绍舒缓和加速 372

16.6 小结 387

16.7 习题 387

第17章 自动化过渡效果 388

17.1 Tween类 388

17.1.1 绝对过渡与相对过渡 389

17.1.2 内置的舒缓类和方法 389

17.1.3 Tween类方法 390

17.1.4 Tween类属性和事件 395

17.1.5 并行播放过渡 399

17.1.6 按顺序播放过渡 402

17.2 利用绘图API创建动画 409

17.3 小结 417

17.4 习题 417

第18章 处理文本 418

18.1 用ActionScript创建文本框 418

18.1.1 文本框实例名与

文本框变量名 418

18.1.2 系统字体和嵌入式字体 419

18.1.3 自由地创建文本框 419

18.2 处理文本显示属性 421

18.2.1 antiAliasType 421

18.2.2 sharpness 422

18.2.3 thickness 422

18.3 富文本格式化选项 424

18.3.1 使用TextFormat 425

18.3.2 Flash 8新增的文本

格式选项 425

18.3.3 关于setTextFormat()

的注释 431

18.4 显示HTML 431

18.5 HTML文本框中的图像

和SWF支持 433

18.6 字体支持 436

18.7 超链接和ASFunction方法 438

18.8 使用层叠样式表 439

18.8.1 创建层叠样式表对象 439

18.8.2 将StyleSheet与

文本框相关联 439

18.8.3 直接在StyleSheet对象

上定义样式 441

18.9 如何定义标签、类和属性 444

18.10 结合使用CSS与XML 445

18.11 滚动文本选项 447

18.11.1 使用TextArea组件

滚动文本 448

18.11.2 使用ScrollBar组件

滚动文本 449

18.12 小结 455

18.13 习题 456

第19章 把ActionScript用于媒体 457

19.1 管理图像 457

19.1.1 智能预加载 458

19.1.2 使用MovieClipLoader

预加载图像 459

19.2 管理声音 460

19.2.1 声音类方法 460

19.2.2 声音类事件和属性 461

19.2.3 创建一个声音对象 462

19.2.4 加载库声音 462

19.2.5 加载外部MP3文件 463

19.2.6 流化MP3音频 464

19.2.7 开始、停止和跟踪声音 465

19.2.8 事件声音 467

19.2.9 控制音量、setPan

和setTransform 468

19.3 处理麦克风 474

19.3.1 麦克风类方法 475

19.3.2 麦克风类属性和事件 476

19.3.3 麦克风活动 477

19.3.4 netStream 479

19.4 小结 479

19.5 习题 480

第20章 管理视频 481

20.1 术语、技术和质量 481

20.1.1 数据速率 481

20.1.2 逐行视频——HTTP 482

20.1.3 流式视频——Flash

Communication Server 482

20.1.4 视频关键帧 482

20.1.5 可变位速率 483

20.1.6 隔行视频 483

20.1.7 帧速率 484

20.2 创建Flash视频 484

20.3 转换视频 484

20.4 加载外部视频 487

20.5 导出到视频 488

20.6 加载外部FLV文件 488

20.6.1 netStream类 489

20.6.2 Video类 490

20.7 控制视频位置 492

20.8 使用视频内的透明度 495

20.9 处理视频质量 497

20.9.1 解块和解环 498

20.9.2 缩放和透明度 499

20.10 使用照相机 499

20.10.1 Camera类的方法、

属性和事件 500

20.10.2 创建Camera对象 501

20.10.3 将照相机馈给显示为

舞台上的视频 501

20.10.4 有关安全的弹出式

考虑事项 506

20.11 小结 507

20.12 习题 507

第21章 数据访问的历史 508

21.1 外部数据和可用性考虑事项 508

21.2 数据等待时间:异步通信 508

21.3 使用LoadVars 509

21.3.1 &号定界的数据 509

21.3.2 LoadVars类方法 510

21.3.3 创建一个LoadVars

对象 512

21.3.4 LoadVars事件

处理程序 513

21.4 加载和分析原始文本 516

21.5 小结 519

21.6 习题 519

第22章 读取XML 520

22.1 使用内置的XML类 520

22.1.1 把一切都包装在标签内 520

22.1.2 CDATA和字符格式 522

22.2 Flash XML类 523

22.2.1 XML类方法 523

22.2.2 XML事件处理程序 526

22.2.3 ignoreWhite:一个

特殊的属性 527

22.3 加载外部XML文件 527

22.4 度量字节数 530

22.4.1 关于安全性和局

域性的说明 530

22.4.2 getBytesTotal

没有工作! 533

22.5 理解父-子节点关系 534

22.5.1 导航一棵示例节点树 534

22.5.2 使用特性 537

22.6 使用XML套接字连接 538

22.6.1 XMLSocket类中

的XML 538

22.6.2 空字节 538

22.6.3 XMLSocket类的

方法和事件 539

22.7 sendAndLoad 541

22.8 使用HTTP GET和POST 543

22.8.1 GET和POST之间

有着天壤之别 544

22.8.2 怎样知道应该使用

哪种方法 544

22.9 使用XML组件 545

22.10 解释跨域安全性 548

22.10.1 理解Flash为什么

使用域策略 548

22.10.2 知道何时需要

策略文件 549

22.10.3 建立策略文件 550

22.10.4 我提供了Web服务;我想

允许任何域访问它! 552

22.10.5 使用垫层和代理 555

22.11 小结 559

22.12 习题 559

第23章 在Macromedia Flash插件与

浏览器之间通信 561

23.1 LocalConnection 561

23.1.1 创建一个localConnection

对象 562

23.1.2 安全性 565

23.2 利用共享对象在本地存储数据 566

23.2.1 可接受的数据类型 568

23.2.2 把共享对象用作cookie 569

23.2.3 与用户打交道 571

23.2.4 管理磁盘空间 572

23.2.5 共享SharedObject 572

23.3 在启动时利用FlashVars给Flash

电影提供数据 573

23.3.1 Flash的Object和Embed

标签参数简介 573

23.3.2 添加FlashVars 574

23.3.3 利用JavaScript创建

FlashVars 575

23.3.4 通过servlet页面传递

FlashVars 577

23.4 小结 578

23.5 习题 578

第24章 使用JavaScript 579

24.1 更改安全性设置 579

24.2 从Flash内调用JavaScript 581

24.2.1 getURL( )简介 581

24.2.2 利用嵌套变量创建

JavaScript变量 582

24.2.3 考虑局限性 586

24.3 使用fscommand调用

JavaScript函数 586

24.4 从JavaScript调用Flash 588

24.5 基本JavaScript方法和变量 590

24.6 使用Flash JavaScript

Integration Kit 591

24.6.1 安装集成工具包 591

24.6.2 从ActionScript调用

JavaScript函数 592

24.6.3 从JavaScript调用

ActionScript函数 593

24.7 使用外部API 596

24.7.1 ExternalInterface

类方法 596

24.7.2 调用ActionScript

函数和方法 599

24.7.3 从ActionScript调用

JavaScript函数 602

24.8 打开浏览器窗口 613

24.8.1 使用getURL()创建

弹出式窗口 613

24.8.2 使用ExternalInterface

创建弹出式窗口 614

24.8.3 调用JavaScript

包装器函数 615

24.8.4 定义浏览器窗口参数 616

24.9 小结 619

24.10 习题 619

第25章 上传和下载文件 620

25.1 FileReference类方法 620

25.1.1 使用browse() 620

25.1.2 使用cancel() 621

25.1.3 使用download() 621

25.1.4 使用upload() 622

25.1.5 FileReference类属性 623

25.2 下载文件 623

25.3 上传文件 628

25.4 小结 633

25.5 习题 634

第26章 在Flash插件与操作

系统之间通信 635

26.1 使用System对象检索系统信息 635

26.1.1 System对象在播放器版本

当中的局限性 637

26.1.2 setClipBoard方法 637

26.2 放映机、Flash可执行程序和其他

可执行程序 638

26.2.1 局限性 638

26.2.2 使用fscommand调用

放映机函数 638

26.2.3 SDK 640

26.2.4 第三方 640

26.3 小结 641

26.4 习题 641

第27章 创建自定义的类 642

27.1 使用类 642

27.1.1 定义类 642

27.1.2 公共与私有 644

27.1.3 定义构造函数 646

27.1.4 定义方法 650

27.1.5 定义属性 656

27.1.6 添加功能到现有类中 662

27.2 小结 676

27.3 习题 677

附录A 习题答案 680

附录B Flash键盘快捷键 740

B.1 Tools面板 740

B.2 集成的脚本编辑器快捷键 741

B.2.1 File菜单 741

B.2.2 Edit菜单 741

B.2.3 View菜单 742

B.2.4 Tools菜单 742

B.2.5 Control菜单 742

B.3 Actions面板快捷键 742

B.4 绘图IDE快捷键 743

B.4.1 File菜单 743

B.4.2 Edit菜单 744

B.4.3 View菜单 744

B.4.4 Insert菜单 745

B.4.5 Modify菜单 746

B.4.6 Text菜单 747

B.4.7 Control菜单 747

B.4.8 Window菜单 747

B.4.9 Help菜单 748

XIV

ActionScript 2.0编程入门经典