首页>参考读物>计算机科学与技术>综合

ActionScript权威指南
作者 : Colin Moock
译者 : 赵声攀 等
出版日期 : 2003-01-01
ISBN : 7-111-11085-4
定价 : 88.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 751
开本 : 16开
原书名 : ActionScript The Definitive Guide
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

Macromedia Flash是全球25000万用户在Web上发布多媒体信息的实际标准。本书是关ActionScript(Flash的面向对象编程语言)的完整而深入说明,它并不仅仅要给Web开发者提供创建高级web站点的基础工具。其目标读者既包括初来乍到的Flash开发者,又包括那些要将技术转移到ActionScript上的JavaScript程序员(两种语言都是以ECMAScript标准为基础的)。
  Colin Moock将全部的实际知识和恰当的表达方式结合起来的能力,使他在Flash界广受赞誉。本书第一部分“ActionScript基础”,描述了核心编程概念(变量、数据类型、操作符、语句、函数、事件、数组和对象)以及它们的详细用法,并特别介绍了影片剪辑。第二部分“ActionScript应用”,包括了普通的应用程序,比如处理在线表单。第三部分“语言参考”详细列举了ActionScript的全局函数、属性、方法、事件处理器和对象,并包括广泛的应用示例。
  本书可以让新的ActionScript程序员获得迅速的进步。它用传统的形式来说明ActionScript,给读者打下坚实的理论基础。富有经验的程序员可以在学习Flash的复杂部分时利用他们的JavaScript知识。在理论之上,本书还包含了很多实际技巧和现实的例子,包括了滚动文本域、菜单按钮、多项选择测试、XML驱动的站点、物理视频游戏和实际的多用户环境等等。本书还谨慎地讨论了一些未证明或者正在证明的主题。广受欢迎的站点——ActionScript代码库(http://moock.org/asdg/" ),包括了所有的源.fla文件和很多附加的示例,还有一个用Java编写的XMLSocket服务器范例和一个Perl文本数据库范例。
  “这是我所看到的最好的ActionScript书籍。你将很难在其他在方找到如此之多的ActionScript信息。”
                   ——Slavik Lozben,Macromedia,Flash 5的主工程师
  “Moock已经撰写了Flash脚本编写方面的惟一的、真正的指南。你在其他任何地方都不能再到如此详尽、实际而精确的指南了。”
        ——Jeremy
Clark,Macromedia Flash产品经理

图书特色

Colin Moock自1995年开始从事Web的研究、设计和开发工作。Colin在1997年之前任SoftQuad公司(HoTMetaL PRO的制造者)的站点管理员。他现在是ICE的Web工作者,他的大部分时间用在编写Web代码,在会议上发表讲话,以及为诸如Sony,Levi's,Nortel,Air Canada和Hewlett—Packard公司创建交互内容上。Colin为Flash开发者提供的出色的Flash作品和支持站点,使他在Flash开发者群体中享有很高的声誉。Macromedia公司已经在官方的Web站点上正式承认他为Flash专家,并又委任他为Flash顾问委员会的成员之一。Colin是《The Flash 4 Bible》和《The Flash 5 Bible》的合作者。

图书前言

本书所要讨论的内容包括ActionScript的基础知识及高级用法。在接下来的内容中,我们将接触ActionScript语言的所有细枝末节——从变量和影片剪辑控制基础到诸如对象和类,服务器通信以及XML的高级主题。最后,我们就会了解关于Flash编程的全部内容。
  本书并不是仅为程序员准备的。虽然内容转换得很快,但阅读的时候并不需要具备编程知识。你所需要的只是ActionScript之外的Flash经验以及学习的热情。当然,如果你已经是一个程序员, 那就最好不过了,你马上可以把编码技能用在ActionScript上。
  本书提供了未被Macromedia或第三方书籍公开,或者出版的材料。Flash因为口述式的技术和深奥的功能而恶名远扬。层、影片剪辑和载入影片如何堆放到播放器里  (参见第十三章)在任何给定的一帧中,是什么在支配代码的执行顺序  (参见第十三章)事件处理有局域作用范围吗  (参见第十章)为什么数字90有时会变成89.9999999997  (参见第四章)我的目的就是在这些未知海域引航。当然,在书中也包含了任何语言都要求的基础编程技术,比如如何让一个代码段重复执行。(参见第八章)
  本书的设计目的是书中介绍的技术能被你放在桌上使用,而不是束之高阁。书中的第三部分无一遗漏地包囊了ActionScript中所有的对象、类、属性、方法和事件处理器。你可以有条理地学习新东西,并且记住那些容易遗忘的部分。首先,本书是一个权威性指南。它是在经过了多年的研究,发送了数千个向Macromedia工作人员请教的电子邮件,并接收了所有层次用户的反馈信息后才产生的。我希望你们能了解我对此书倾注的极大的热情,对于你们马上就将受益的东西,我在现实世界中付出了艰辛的努力。本书对ActionScript的讨论有着绝对的权威性——这是由于ActionScript的创建者Gary Grossman所给予的技术审查——以及无比的准确性。

  ActionScript能做什么

  坦白地说,像Flash 5 ActionScript这样一种完善的语言,对于它能实现什么目的并没有实际的限制。让我们来看一些ActionScript明确给出的性能,以便了解本书所涵盖的主题。首先,你可以想想如何将这些技术合并到你所要达到的目标中去。

  时间线(Timeline)控制

  Flash影片是由位于一个叫做时间线的线性序列上的多帧构成的。使用ActionScript,我们可以控制影片时间线的播放,可以播放电影片段,显示特定的某一帧,停止影片播放,建立动画循环,以及对动态内容同步化。

  交互性

  Flash影片可以接受用户的输入并且作出响应。我们可以用ActionScript创建如下的交互元素:
  · 对鼠标点击动作作出反应的按钮(例如,一个典型的导航按钮)。
  · 基于鼠标移动而发生动作的内容(例如,一个鼠标追踪器)。
  · 能够通过鼠标或者键盘而移动的对象(例如,驾驶游戏里的一辆汽车)。
  · 允许用户对影片提供输入信息的文本域(例如,一个填充表单)。

  视频和音频内容控制
  ActionScript可以用来检查或者修改影片中音频和视频内容的属性。比如,我们可以改变一个对象的颜色和位置,减小声音的音量,或者设置文本块的字体。我们也可以按照时间顺序重复地修改这些属性,产生独特的动作,比如物理运动和冲突检测。  

  内容的程序化生成

  使用ActionScript,我们可以直接从影片库中生成音频和视频内容,或者复制场景中现有内容。程序化的生成内容可以作为严格的静态元素,比如一个任意的视频图案,或者一个交互性元素,例如视频游戏中的敌方太空船或者下拉菜单中的一个选项。

  服务器通讯
  ActionScript提供了多种工具,能够发送信息到服务器并接收来自服务器的信息。下面的应用中都包括了服务器通讯:
  · 链接到一个Web页。
  · 客户登记。
  · 聊天应用程序。
  · 多人网络游戏。
  · 商业事务。
  包括用户注册和登录的个人站点。当然,这些例子只是ActionScript潜在应用的一部分。本书的目的是教你一些基本的技巧,让你能独立地去探询其他数不清的可能性。这不是一本食谱,它是一门让你能白手起家处理代码的课程。菜单上最终能有什么美味佳看则取决于你自己。

  代码库
  在以后的章节中,我们会碰到数十个代码范例。要想获得本书没有包括的有关源文件和其他许多指南文件,可以访问在线代码库,网址为:
  http://www.moock.org/asdg
  代码库是一个发展中的资源站点,它包括现实世界中的ActionScript应用程序和代码基础。下面给出了你可以在代码库中找到的一个范例选择列表(你可以单独下载它们,也可以下载整个.zip文件):
  · 多项选择测试。
  · 以XML为基础的聊天应用程序。
  · 客户登记应用程序。
  · 自定义鼠标指针和按钮。
  · 行星游戏代码库。
  · 程序化动作效果。
  · HTML文本域演示。
  · 预装载程序。
  · 串操作。
  · 界面小装置,比如滑动条和文本滚动。
  · 鼠标追踪器和其他视觉效果。
  · 音量和声音控制。

  另外,任何有关本书的消息、更新情况、技术注解以及勘误表也会放到前述的URL下,或者本书的网站小。

  站点展示
  实际上,现有的每一个Flash站点中都至少有一点点ActionScript。但是一些站点,我们可以说,拥有的ActionScript不只一点点。表P—1给出了一系列的网址、也许会对你的工作有所帮助。也可以参见附录一中所列的站点。
  表P—1 ActionScript展示
  项目            URL
  设计、交互性和脚本编写方面 http:// www. yugop. com
  的实验           http:// www. praystation. coma
                http:// www. presstube. com
                http:// www. pitaru. com
                http:// www. flight404. com
                http:// www. bzort-12.com
                http:// kaluzhny. nm. ru/3D. htmla
                http:// www. protocol7.coma
                http:// www. uncontrol.coma
                http:// www. digitalnotions. com/dev/flash 5a
                http:// flash. onego. rua
                http:// www. figleaf. com/development/flash 5a

  游戏            http:// www. gigablast. com
                http:// www. sadisticboxing. com
                http:// www. flashkit. com/arcadea
                http:// www. huihui.de
  界面和动态内容         http:// www. mnh.si.edu/africanvoices
                http:// www. curiousmedia.com

  a.提供可下载的.fla文件。否则,只可以访问.swf文件。

   版式约定
  为了表示出ActionScript不同的语法成分,本书使用下面的约定:
  · 对于代码举例、剪辑实例名称、帧标签、属性名称和变量名使用等宽字体(Constant width)。
  · 对函数名称、方法名称、类名、层名、文件名以及谙如.swf的文件后缀使用斜体。
  · 在跟随一个按部就班的程序时你必须键入的代码使用等宽粗体(Constant width bold)。
  对于你必须用一个恰当的值来代替的代码(例如,在这里写你的名字),或者
  在代码注释里提到的变量和属性名,使用等宽斜体(Constant width italic)。
  方法和函数名后面要跟括号。
  建议与评论
  本书的内容都经过测试,尽管我们做了最大的努力,但错误和疏忽仍然是在所难免的。如果你发现有什么错误,或者是对将来的版本有什么建议,请通过下面的地址告诉我们:
  美国:
  o'Reilly & Associates,Inc.
  101 Morris Street
  Sebastopol, CA 95472
  中国:
  100080北京市海淀区知春路49号希格玛公寓B座809室
  奥莱理软件(北京)有限公司
  对于本书我们还有一个专门的Web页,在那里列出了勘误表、范例或附加信息。你可以访问下面的网址:
  http://www.oreilly.com/catalong/actscript询问技术问题或对本书的评论,请发电子邮件到:
  info@mail.oreilly.com.cn
最后,您可以在WWW上找到我们:
  http://www.oreilly.com
  http://www.oreilly.com.cn

图书序言

1998年的夏天,当我加入Macromedia的Flash队伍的时候,这个小而精干的团体已经生产出了令人震惊的产品。Flash 3作为Web矢量动画的标准已经基本上得到了全世界的承认。它那些有着艺术天赋的忠实而活跃的用户们创建出的惊世骇俗的视觉作品,越来越多地展示在web上。ActionScript(动作脚本)的开端可以追溯到Flash 4功能计划列表上的一条内容,标题为“增强交互性”。Flash 3中有一套关于动作的基础功能,可以用来控制Flash的影片剪辑和按钮,并提供一定的交互性。不过,我对一个井字游戏的印象颇深,尽管这在大多数编程语言中是一个很简明的任务,但是如果用Flash 3的动作功能来执行就会变得很困难,而且非常耗时。这就是ActionScript产生之前的情况。今天,如果你看到一个完全用Flash 4来创建的动态网站并不会觉得有什么可吃惊的。而且,站点正趋向于采用Flash 5中那些更加练达的ActionScript功能。ActionScript的一个关键目标是易于使用。非程序员可以容易地使用ActionScript,这一点非常重要。我们所提供的并不是一个苍白的脚本编辑窗口,而是在Flash 4中创建了一个可视的、容易理解的界面,用来为Flash影片添加交互功能。Flash 4中
ActionScript非常易学,并且使得Flash播放器可以保持很小,这是一个重要的考虑因素。
  Flash播放器即使在低带宽的连接上也能快速地下载。Flash队伍在给它增加任何一项功能之前都会自问一句:“这会给播放器增加多少代码?”对于这个标准,ActionScript也不例外。ActionScript的目标和播放器的每一个新功能一样,可以说是事半功倍,也就是以播放器尺寸的最小增加带来功能上的最大收益。
  我们知道,用户会将ActionScript付诸到一些无法预料的用途中去,但看到用户用它做出来的东西毕竟是让人欣慰的事情。在Flash 4发布后的一个月内,用ActionScript制作出来的精彩站点开始出现在Web上——业站点、聊天室、留言板、娱乐游戏、棋盘游戏,甚至一些用来创建Flash站点的Flash站点。闸门打开了。一种新的、动态的、交互的、高图形化的web内容奔涌而来。当设计Flash 5时,我最希望做的事情就是将ActionScript发展成为一种成熟的脚本语言,它将拥有程序员们在诸如JavaScript语言中所熟悉的特征——函数、对象、完善的控制流语句以及多种数据类型。这些东西是帮助程序员更好地使用其他语言的“动力工具”,我希望ActionScript也同样能支持它们。我并没有白手起家开始设计这门语言,而是选择在很大程度上模仿JavaScript,它是Internet上客户端脚本的实际标准。更为特殊的是,ActionScript还模仿了ECMA(欧洲计算机制造商协会)脚本标准(ECMA—262)。因此,转手从事Flash的JavaScript程序员会马上发现,他们对ActionScript非常熟悉,而且,Actionscript程序员可以将他们的Actionscript知识用在JavaScript编程中,并可在两种语言之间轻松地共享代码。
  方便易用和播放器尺寸最小化的要求其实是等价的。JavaScript是一门精细复杂的语言,我们要设法向高级用户提供它的全部功能,并同时保持Flash 4 ActionScript的易用性能。最后,新的Flash 5动作面板就有了两个模式:普通模式,这是F1ash 4 ActionScript编辑器的一个简化版本;专家模式,这是针对高级用户的标准文本
  编辑器。为了最小化播放器尺寸,只能牺牲ActionScript的ECMA脚本兼容性。例如,ActionScript不支持在运行时间里用eval()来编译代码,这个特点要求将所有的Actionscript编译器合并到播放器中,这就造成了播放器尺寸增大,让人难以接受。由于同样的原因,它也不能支持正则表达式匹配。这两个功能都是非常有用的,这说明Flash队伍要对播放器尺寸和功能需求这对矛盾做出较为平衡的决定真的是很困难。
  为了满足这两个要求,我们添加了第三个东西:兼容性。我们所设计的Flash 5 ActionScript可以将Flash 4的脚本平稳地升级到Flash 5。而且,Flash 5将Flash 4的ActionScript作为一个子集而给予支持。这样一来,Flash 5实际上就成为建立Flash 4影片的出色途径。Colin已经在附录三以及附录四中描述了向后兼容的问题,以及ActionScript和JavaScript之间的主要差别(通常是由于兼容性的原因)。纵览整个发展过程,Flash队伍得到了来自Flash用户的巨大支持,这是一个思想自由、联系紧密、有着惊人才智和激情的集体。Flash用户的指引在塑造产品功能特点方面扮演了重要的角色。Macromedia的目标是生产出满足消费者需求的产品,它通过倾听消费者的心声,了解他们的工作方式而做到了这一点。最后,Flash是一个正在继续的传奇,一项充满生命力的事业,我们将以不懈的努力来满足您的需求。Flash开发者们是信息时代的艺术家,Flash队伍的工作是尽可能生产出最好的画笔和刻刀。本书是第一本全部致力于ActionScript语言的详尽指南和参考。同样,它标志着ActionScript发展过程中的一个关键点:ActionScript现在已经是一个足够成熟的领域,它能够和这本涵盖了最新材料、技术无一遗漏的书籍相得益彰。
  好好享受这本书,享受Flash 5 ActionScript。我们大家将对你的作品翘首以待!
  ———Gary Grossman
  Macromedia公司Flash组,主工程师
  2001年3月


作者简介

Colin Moock:暂无简介

译者简介

赵声攀 等:暂无简介

图书目录

第一部分 ActionScript基础

第一章 针对非程序员的简单介绍

一些基础习语
更为深入的ActionScript概念
创建多项选择测试
小结

第二章 变量

创建变量(声明)
变量赋值
变量值的修改和获取
值的类型
变量作用域
应用举例
小结

第三章 数据和数据类型

数据和信息
用数据类型来保持数据的意义
数据的创建和分类
数据类型转换
原始数据和复合数据
小结

第四章 原始数据类型

数字类型
整数和浮点数字
数值直接量
数字处理
串类型
串的处理
布尔类型
undefined
null
小结

第五章 操作符

操作符的一般特点
赋值操作符
算术操作符
等于和不等操作符
比较操作符
串操作符
逻辑操作符
组合操作符
逗号操作符
空(void)操作符
其他操作符
小结

第六章 语句

语句的类型
语句语法
ActionScript语句
语句和动作
小结

第七章条件语句

if语句
else语句
else if语句
模拟switch语句
简化的条件语句语法
小结

第八章循环语句

while循环
循环术语
do-while循环
for循环
for-in循环
提前终止循环
时间线和剪辑事件循环
小结

第九章 函数

函数的创建
函数的运行
向函数传递参数
退出函数并返回值
函数直接量
函数的可用性和生命周期
函数的作用域
再论函数参数
递归函数
内部函数
函数对象
代码的集中
再看多项选择测试
小结

第十章 事件和事件处理器

同步代码的执行
基于事件的异步代码执行
事件的类型
事件处理器
事件处理器语法
创建事件处理器
事件处理器作用域
按钮事件
影片剪辑事件综述
针对影片播放的影片剪辑事件
针对用户输入的影片剪辑事件
执行的顺序
复制剪辑事件处理器
用updateAfterEvent更新屏幕
代码的重复使用性
动态的影片剪辑事件处理器
事件处理器应用
小结

第十一章 数组

什么是数组
数组的分析
数组的创建
引用数组元素
确定数组的大小
命名数组元素
向数组添加元素
删除数组中的元素
通用数组操作工具
多维数组
多项选择测试的第三版本
小结

第十二章 对象和类

对象的分析
实例化对象
对象属性
方法
类和面向对象的编程
内置ActionScript类和对象
小结

第十三章 影片剪辑

影片剪辑的对象性
影片剪辑的类型
创建影片剪辑
影片和实例的堆栈顺序
实例和主影片的引用
删除剪辑实例和主影片
内置影片剪辑属性
影片剪辑方法
影片剪辑应用举例
最后的测试
小结

第十四章 词法结构

空白
语句终结符(分号)
注释
保留字
标识符
大小写区分
小结

第十五章 高级主题

复制、比较和传递数据
位逻辑编程
高级函数作用域问题
影片剪辑数据类型
小结

第二部分 ACtionScript应用

第十六章 ActionScript制作环境

动作面板
为帧添加脚本
对按钮添加脚本
为影片剪辑添加脚本
代码都在哪里
生产力
外在化ActionScript代码
组件打包成智能剪辑
小结

第十七章 Flash表单

Flash表单数据循环
创建Flash填充表单
小结

第十八章 屏幕文本域

动态文本域
用户输入文本域
文本域选项
文本域属性
HTML支持
关于文本域选择
空文本域和for-in语句
小结

第十九章 调试

调试工具
调试方法
小结

第三部分 语言参考

ActionScript语言参考

第四部分 附录

附录一 资源
附录二 Latin1字符指令表和键控代码
附录三 向后兼容
附录四 ECMA-262和JavaScript之间的差别
词汇表

教学资源推荐
作者: [美]马克·J.班纳特(Mark J. Bennett)德克·L.胡根(Dirk L. Hugen)著
作者: 吴灏 等编著
作者: 张国德 李红 主编
参考读物推荐
作者: (美)Michael Ogrinz 著