出版时间:2007-09 出版社:电子工业出版社 作者:孙颖 页数:450
Tag标签:无
前言
ActionScript 3与RIA时代的到来 具有高度互动性、丰富用户体验及功能强大的客户端,是目前网络开发的迫切需求。Adobe公司的Flash Player凭借其全球97%的桌面电脑占有率和跨平台的优势,成为了事实上的下一代的RIA(Rich Internet Application,丰富因特网程序)主力。Adobe公司于2006年年中推出了强大的ActionScript 3 语言,和支持ActionScript 3 的新一代的虚拟机AVM 2。经测试,AVM 2执行ActionScript 3代码比以前的ActionScript 2 代码执行效率要快10倍以上。 ActionScript 3,与ActionScript 2和1有本质上的不同,是一门功能强大的、面向对象的、具有业界标准素质的编程语言。它是 Flash Player 运行时功能发展中的重要里程碑。ActionScript 3是快速构建Rich Internet Application的理想语言。 由于Adobe的Flex和Flash的成功,在业界已经掀起了RIA应用新浪潮!雅虎(Yahoo!)、eBay、Google都相继推出基于ActionScript的RIA应用程序和ActionScript API库。著名的应用案例有Yahoo Maps、eBay AIR拍卖程序、Google Analytics和Google Finance、微软的Wallop社区,等等。 ActionScript 3 有以下优势: 对面向对象编程(OOP)语言的完全支持。核心语言基于ECMAScript(ECMA 262)标准,对OOP架构深层优化。 彻底更新的显示对象系统架构。 采用了先进的E4X,使XML成为ActionScript 3 语言的内建数据类型(native support)。操作直白、简单。与ActionScript 2比较,极大地减轻了XML数据处理工作量。 全面支持正则表达式。正则表达式也成了ActionScript 3的内建数据类型,ActionScript 3对字符串的处理能力空前增强。 标准的DOM 3事件实现。Flash API全面支持事件机制。 异常处理机制。 异常包括信息全面、易于调试和处理。Flash API全面支持异常处理机制。 此外,ActionScript 3 积极迈向开源,赢得开源社区的欢迎。包括AVM 2虚拟机开源 ,源码赠送与Mozilla的Tamarin项目。Tamarin项目的开源,意味着ActionScript 3 虚拟机的开源。从而ActionScript 3 也将成为智慧无穷的开源社区的首选! 2007年6月11日推出了Adobe Intergrated Runtime(AIR) Beta版,正式实现新一代的RIA概念——跨系统运行时(cross-operating system)的RIA程序。首次允许RIA程序访问本地资源,并进行离线存储,跳出了浏览器的限制,模糊了浏览器和桌面程序的界限,在线和离线的界限。AIR具有革命性的前瞻视角,被业界誉为RIA的第二次革命。而ActionScript 3就是用于开发AIR程序的主要核心语言。 ActionScript 3的时代已经到来!我们正在迎接它的辉煌! 本书的目标与特色 本书目标 ActionScript 开发界缺少一本真正的以面向对象思想来讲解的书籍,缺少从ActionScript 3语言架构上来分析的书籍。无论国内还是国外目前都缺少这样一本书。很多ActionScript 开发人员都只停留在知道OOP语法、会熟练运用ActionScript 3 提供的类库API阶段,而对OOP思想和ActionScript 3 整个系统架构脉络一知半解。买椟还珠,这是很可惜的。 本书尝试以系统架构师的眼光,以面向对象思想为主轴,讲述ActionScript 3中面向对象的精髓和应用。从ActionScript 3 系统架构的高度,清楚明白地讲解ActionScript 3的API设计原因、原理和应用。 面向对象思想和ActionScript 3系统架构就是RIA开发的任督二脉,打通之后,你就会觉得所有ActionScript 3知识都是共通共融、浑然一体的,从而再学习广阔的ActionScript 3开源世界中的其他东西时,也会觉得高屋建瓴、势如破竹 、轻松如意。 在本书中,对于ActionScript 3中的面向对象讲解的广度和深度都远超过目前所有书籍。从广度上说,涵盖了OOP语法、重要API的运用、核心类包的结构……从深度上说,详细地解释了面向对象实现上的重大变化和实现细节,透彻地阐述了新一代的显示编程架构及应用。比如 ActionScript 3的几大新特色、重要的OOP法则、ActionScript 3语言本身在哪些地方使用了设计模式。从实用上说,每一个重要的应用都有实际的代码例子相结合,例如,有类绑定的种种实际做法和UIMovieClip类与Flex结合应用等。本书不仅仅介绍相关语法和运用,更重要的是解释如何设计与怎样使用。 本书希望把你真正带往ActionScript 3编程的殿堂。 本书特色 本书是一本“面向原因式”的书籍(Why-Oriented Book)。让你对所有细节的设计用意和原因清清楚楚。 以ActionScript 3 语言设计的本意和思路,深浅结合,讲解各个部分。尽可能使读者在了解ActionScript 3 语言的同时,更好地把握ActionScript 3 语言的思想。 重视实际运用,例子丰富。不算文中代码片段,仅完整类文件就近两百个,为编程提供实际的指导。本书在撰写所有部分时,力求达到两点:与实际的代码例子结合;讲述ActionScript 3 语言关于该部分的内部实现和技术细节。 以面向对象思想(OOP)为重点,例子和比喻结合。系统讲述了OOP思想及其在ActionScript 3 中的运用。并结合ActionScript 3本身的语言架构加以详细的分析。 横向比较其他优秀OOP语言。本书中有大量涉及到ActionScript 3和Java、C#等语言相比较的地方,使得已有其他OOP语言基础的读者可以快速了解ActionScript 3的独特之处,快速上手。 清楚地阐述ActionScript 2和ActionScript 3的不同及原因。对于ActionScript 3 大部分相对于ActionScript 2 的改动,本书不但一一指出,还从理论上解释为何改变,以及相关的实现,使ActionScript 2 程序员快速上手ActionScript 3 ,并对ActionScript 2代码移植有相当大的帮助。 本书为何而写 长时间以来,国内ActionScript 方面的书籍总是落后国外同类书籍一年到两年,很大程度上影响了ActionScript 在国内的推广和国内爱好者水平的提高。本书作者从事大型ActionScript 2 RIA项目开发已有数年经验,在Flash Player 8.5出现、ActionScript 3推出测试版开始,就已开始研究其架构,积累了丰富的第一手开发笔记。因此,本书的写作与国际ActionScript 3的研究发展是完全同步的。 笔者在电子工业出版社的大力协助下,以严谨的学术态度撰写本书。笔者衷心期望,本书出版时,不仅是国内ActionScript 界第一本与国际同步的书籍,也能抛砖引玉,加速推动国内ActionScript 3 的研究开发步伐。 本书为谁而写 本书所讲的知识用于Flash、Flex下的ActionScript 3应用程序开发。本书的读者应具有基本的编程知识(不限语言),至少应理解变量、循环、函数等基本编程概念。 写一本从ActionScript 3 初学者、ActionScript 3 中级爱好者到其他OOP语言(如C#、 Java)开发者都能看的书,是一件很有野心的事,事实上也难以完全做到。 但据笔者观察,国内ActionScript 爱好者水平参差不齐。有部分ActionScript 2 高手,但更多的是ActionScript 2 或1中级爱好者,以及准备从Flash Designer(Flash设计)转向ActionScript 3 的新手。更有广大的其他OOP语言的读者,比如C#、 Java等,拥有良好的OOP基础,准备转向ActionScript 3 。随着RIA革命的到来,未来还有更多的、潜在的ActionScript 爱好者。 这样的现状促使我向这个不可能的任务做一些力所能及的努力。经过分析,这几个群体有比较明显的特征,使得我可以在讲述的同时有所侧重,择善结合。 对初学者 你可能喜欢比较浅显的比喻和详细的讲解。有时告诉你原因,比简单罗列代码告诉你怎么做,可以更快让你理解根本,进入状态。本书正是这样一本Why-Oriented Book。本书与其他书的一个最大不同就是“面向原因”(Why-Oriented Book)的讲述方式,让你对每部分内容的由来清清楚楚。 如果你对ActionScript 一点都不熟,那么恭喜你,你赶上好时候了。ActionScript 3 比以往的ActionScript 2或ActionScript 1要好学很多,好记很多。原因就是ActionScript 3 的结构更加标准和统一。不信,举个小例子,在ActionScript 2 中创建一个视觉元件的实例有 attachMovie()、createChildAtDepth()、createClassObject()……等八九种方法,每种方法都有自己的参数,而且要手动管理元件深度。而在ActionScript 3 中,一切都统一为new 元件名()就可以了。深度统一且自动管理。这样的改进实在太多了! 所以抛开相对混乱的ActionScript 1和ActionScript 2,放心大胆地学习ActionScript 3吧。能直接学习ActionScript 3,绝对是新手的福气! 对于ActionScript 中级爱好者 你往往具有一定水平和能力,ActionScript 2各个方面都有涉猎,但都不深。你需要有针对性的细节点拨和思路指导。你往往不喜欢婆婆妈妈的讲解,最喜爱具体的代码例子。但往往对自己掌握的程度估计不足,对自己知道的东西不加以深究,和高手的差距就在这里。本书用章节“*”号(有相当数量)和进阶知识这两个部分来针对这个群体。 众所周知,知识的讲解应当是一个整体,不能每个知识点都有初级、中级、高级之分。你清楚的东西,对你而言就是初级。你不清楚的东西,往往就是高级。你知道并了解,但是不知道细节的东西,那就是中级。因此对于中级爱好者,我建议,在你快速翻完了本书所有“*”号和进阶知识之后,有空时你最好从头详细读一下其他章节。我相信,你绝对不虚此“读”。很多有用的知识点和ActionScript 3 技术上的实现细节,你可能还不清楚。举个小例子,比如, “加Label的continue、break的用法”,不少读者可能就不太清楚。 加油,高手的称号指日可待! ActionScript高级爱好者 你有一定的开发经验和知识水平,知道很多ActionScript 2 细节。但是ActionScript 2 和ActionScript 3 区别如此之大,你会感觉到有点沮丧。但,沮丧不久,你就会被ActionScript 3 标准的架构、优雅的实现和无限的潜能所吸引。 你甚至发现ActionScript 3 其实比ActionScript 1、ActionScript 2要好学很多 ,好记很多。再过不了多久,你会发现ActionScript 3 是如此好用,如此方便,如此先进,以致于不可能再转回ActionScript 2了。这时候就逼你的老板用ActionScript 3开发产品吧。It’s your time。 本书中有大量地方标注了和ActionScript 2不同的地方,可以让你快速地进入ActionScript 3的工作状态。并且提供了很多ActionScript 3中独有的技术细节和小技巧,为你日后的开发扫清很多小地雷。 对C#、Java爱好者和开发者 恭喜你,其实ActionScript 3 比它前辈的任何一个版本都接近C#、Java这两种语言。你学习ActionScript 3 ,将是真正的事半功倍。 你真正想要知道的是,ActionScript 3和C#、Java有哪些不同点?ActionScript 3 编程有哪些部分需要重点学习?API有哪些不同,哪些是重点?在ActionScript 3中哪些细节需要注意? 在本书中对大部分涉及到语言差异的地方都做了标注。你要做的是,看一下每章前面的导读,抓住重点,快速浏览章节。融会贯通这些基本的不同点之后,重点掌握ActionScript 3视觉编程部分和熟悉一些关键的API。当然,我特别建议你有空时能从头详细读一遍本书,很多ActionScript 3 独有的技术细节和小技巧可能是你需要了解的。 你会发现, ActionScript 3 编程是这么的方便和美妙!ActionScript 3 这个标准的OOP语言,用起来是这么熟悉和顺手!和Flash合作编出的界面是这么漂亮优雅,易于拓展!强烈推荐你花点时间看一看第1章。 本书结构 第1部分:ActionScript 3语言基础 第2部分:ActionScript 3 面向对象编程 第3部分:ActionScript 3 核心类 第4部分:ActionScript 3主要的Flash Player API 第5部分:ActionScript 3视觉编程 如何使用本书 本书建议按照章节顺序阅读。初级爱好者读到带“*”号的章节时,如有不明白的地方可以暂时跳过,以后有时间时回头再读。每章都有“本章导读”,读者可根据具体的“章节导读”来进行阅读。 另外,本书提供了详细的章节目录、代码例子目录、表格目录等,也可以作为ActionScript 3 简要的工具书使用。在本书中,对类名、变量、代码、术语和重点句都特别用了样式来标明。 “样式和格式”中的名称 范 例 类名 !类名 ErrorEvent, EventDispatcher 变量和代码 !变量和代码 updaetAfterEvent() 重点强调句 !重点文字 被关键字final定义过的实例方法不能被重写;父类的private成员不能被重写 编程语言关键字 !关键字 instanceof 如何使用本书中的例子和源代码 随书光盘中有一个视频教程目录,为swf格式。里面有详细的视频教程教你如何更加有效地使用本书中的例子和光盘中的源代码。 勘误及反馈 读者如果对本书有意见和建议,请到笔者个人博客http://books.kingda.org上交流。 本书涉及面广,内容多,难免有所错漏。勘误信息也会第一时间在http://books.kingda.org 上公布。书中所有术语翻译参考ActionScript 3 官方文档和微软的.NET术语对照表。 致谢 感谢我的父母,亲情永远是我强大的动力!感谢我的MM,谢谢你容忍我一年多来不曾陪你逛街! 感谢我的公司和同事!我们是一流的团队,追求顶尖的RIA体验!成功属于勤奋者。 感谢电子工业出版社易飞思公司郭晶女士、何郑燕女士。多谢二位的耐心,支持我一再推迟交稿期限,给予我相对充分的时间写作。多谢二位的热情和信任,这在写书的苦闷中给了我很大的支持。在此特表感谢! 著 者
内容概要
本书是国内第一本“面向原因式”(Why—Oriemed Book)与国际同步的、全面系统介绍ActionScript
3的书籍。本书以前端系统架构师的眼光,将面向对象思想作为主轴讲述ActionScript
3的精髓;从系统架构的高度,清楚讲解ActionScript3的API设计原因、原理和应用。面向对象思想和ActionScript3系统架构是RIA开发的任督二脉,打通之后,会发现所有ActionScript
3知识都是共通共融、浑然一体的,从而再进行学习或开
发,就会势如破竹、轻松如意。
全书共分5个部分。第1部分:ActionScript 3语言基础;第2部分:ActionScript
3面向对象编程;第3部分:ActionScript 3核心类;第4部分:ActionScript 3主要的Flash Player
API;第5部分:ActionScript 3视觉编程。附书光盘内容为书中实例源文件和本书中重点操作视频演示教程。
本书适合有基础编程知识(不限语言)的Flash、Flex、AIR爱好者和开发人员,尤其适合ActionScript
2读者。本书还为Java、c#等其他OOP语言爱好者学习ActionScript 3提供了专门的导读和一定的横向比较。
作者简介
孙颖,网名“黑羽”,英文名“Kingda
Sun”,浙江大学硕士。浙江大学元老级闪客,曾任蓝色理想网站Flash版版主。 现任杭州Genway Online Learning
Tech Co.,Ltd前端架构总设计师。 拥有著名的个人Flash技术博客:WWW.kingda.org.Google
Pagerank值高达6,被Adobe
书籍目录
第1部分 ActionScript 3语言基础
第1章 ActionScript 3语言介绍与开发环境
第2章 ActionScript 3语言基本元素
第3章 ActionScript 3流程控制
第4章 ActionScript 3中的函数及高级使用技巧
第2部分 ActionScript 3面向对象编程
第5章 类和对象——从定义到原理
第6章 ActionScript 3中的封装:类的成员、类、包与访问控制
第7章 命名空间
第8章 复合与继承
第9章 多态
第10章 抽象类和接口
第3部分 ActionScript 3核心类
第11章 ActionScript 3核心类和全局函数
第12章 数组:Array
第13章 字符串:String
第14章 强大的正则表达式:RegExp
第15章 XML数据处理
第16章 异常和错误的捕捉与处理
第4部分 ActionScript 3主要的。Flash Player API
第17章 ActionScript 3目前主要的API概览
第18章 事件发送和处理
第19章 网络通信基础
第5部分 ActionScript 3视觉编程
第20章 ActionScript 3视觉编程精要
第21章 DisplayObject类与矢量图、位图
第22章 容器DisplayObjectContainer与Sprite、MovieClip
第23章 Flash CS3:库元件的类绑定与Stage、文档类
第24章 显示编程与事件、人机交互
第25章 ActionScript 3动画编程
第26章 Flash创作工具和Flex协作开发组件
结束语
附录A
章节摘录
前言ActionScript 3与RIA时代的到来具有高度互动性、丰富用户体验及功能强大的客户端,是目前网络开发的迫切需求。Adobe公司的Flash Player凭借其全球97%的桌面电脑占有率和跨平台的优势,成为了事实上的下一代的RIA(Rich Internet Application,丰富因特网程序)主力。Adobe公司于2006年年中推出了强大的ActionScript 3 语言,和支持ActionScript 3 的新一代的虚拟机AVM 2。经测试,AVM 2执行ActionScript 3代码比以前的ActionScript 2 代码执行效率要快10倍以上。ActionScript 3,与ActionScript 2和1有本质上的不同,是一门功能强大的、面向对象的、具有业界标准素质的编程语言。它是 Flash Player 运行时功能发展中的重要里程碑。ActionScript 3是快速构建Rich Internet Application的理想语言。由于Adobe的Flex和Flash的成功,在业界已经掀起了RIA应用新浪潮!雅虎(Yahoo!)、eBay、Google都相继推出基于ActionScript的RIA应用程序和ActionScript API库。著名的应用案例有Yahoo Maps、eBay AIR拍卖程序、Google Analytics和Google Finance、微软的Wallop社区,等等。ActionScript 3 有以下优势:对面向对象编程(OOP)语言的完全支持。核心语言基于ECMAScript(ECMA 262)标准,对OOP架构深层优化。彻底更新的显示对象系统架构。采用了先进的E4X,使XML成为ActionScript 3 语言的内建数据类型(native support)。操作直白、简单。与ActionScript 2比较,极大地减轻了XML数据处理工作量。全面支持正则表达式。正则表达式也成了ActionScript 3的内建数据类型,ActionScript 3对字符串的处理能力空前增强。标准的DOM 3事件实现。Flash API全面支持事件机制。异常处理机制。 异常包括信息全面、易于调试和处理。Flash API全面支持异常处理机制。此外,ActionScript 3 积极迈向开源,赢得开源社区的欢迎。包括AVM 2虚拟机开源 ,源码赠送与Mozilla的Tamarin项目。Tamarin项目的开源,意味着ActionScript 3 虚拟机的开源。从而ActionScript 3 也将成为智慧无穷的开源社区的首选!2007年6月11日推出了Adobe Intergrated Runtime(AIR) Beta版,正式实现新一代的RIA概念——跨系统运行时(cross-operating system)的RIA程序。首次允许RIA程序访问本地资源,并进行离线存储,跳出了浏览器的限制,模糊了浏览器和桌面程序的界限,在线和离线的界限。AIR具有革命性的前瞻视角,被业界誉为RIA的第二次革命。而ActionScript 3就是用于开发AIR程序的主要核心语言。ActionScript 3的时代已经到来!我们正在迎接它的辉煌!本书的目标与特色本书目标ActionScript 开发界缺少一本真正的以面向对象思想来讲解的书籍,缺少从ActionScript 3语言架构上来分析的书籍。无论国内还是国外目前都缺少这样一本书。很多ActionScript 开发人员都只停留在知道OOP语法、会熟练运用ActionScript 3 提供的类库API阶段,而对OOP思想和ActionScript 3 整个系统架构脉络一知半解。买椟还珠,这是很可惜的。本书尝试以系统架构师的眼光,以面向对象思想为主轴,讲述ActionScript 3中面向对象的精髓和应用。从ActionScript 3 系统架构的高度,清楚明白地讲解ActionScript 3的API设计原因、原理和应用。面向对象思想和ActionScript 3系统架构就是RIA开发的任督二脉,打通之后,你就会觉得所有ActionScript 3知识都是共通共融、浑然一体的,从而再学习广阔的ActionScript 3开源世界中的其他东西时,也会觉得高屋建瓴、势如破竹 、轻松如意。在本书中,对于ActionScript 3中的面向对象讲解的广度和深度都远超过目前所有书籍。从广度上说,涵盖了OOP语法、重要API的运用、核心类包的结构……从深度上说,详细地解释了面向对象实现上的重大变化和实现细节,透彻地阐述了新一代的显示编程架构及应用。比如 ActionScript 3的几大新特色、重要的OOP法则、ActionScript 3语言本身在哪些地方使用了设计模式。从实用上说,每一个重要的应用都有实际的代码例子相结合,例如,有类绑定的种种实际做法和UIMovieClip类与Flex结合应用等。本书不仅仅介绍相关语法和运用,更重要的是解释如何设计与怎样使用。本书希望把你真正带往ActionScript 3编程的殿堂。本书特色本书是一本“面向原因式”的书籍(Why-Oriented Book)。让你对所有细节的设计用意和原因清清楚楚。以ActionScript 3 语言设计的本意和思路,深浅结合,讲解各个部分。尽可能使读者在了解ActionScript 3 语言的同时,更好地把握ActionScript 3 语言的思想。重视实际运用,例子丰富。不算文中代码片段,仅完整类文件就近两百个,为编程提供实际的指导。本书在撰写所有部分时,力求达到两点:与实际的代码例子结合;讲述ActionScript 3 语言关于该部分的内部实现和技术细节。以面向对象思想(OOP)为重点,例子和比喻结合。系统讲述了OOP思想及其在ActionScript 3 中的运用。并结合ActionScript 3本身的语言架构加以详细的分析。横向比较其他优秀OOP语言。本书中有大量涉及到ActionScript 3和Java、C#等语言相比较的地方,使得已有其他OOP语言基础的读者可以快速了解ActionScript 3的独特之处,快速上手。清楚地阐述ActionScript 2和ActionScript 3的不同及原因。对于ActionScript 3 大部分相对于ActionScript 2 的改动,本书不但一一指出,还从理论上解释为何改变,以及相关的实现,使ActionScript 2 程序员快速上手ActionScript 3 ,并对ActionScript 2代码移植有相当大的帮助。本书为何而写长时间以来,国内ActionScript 方面的书籍总是落后国外同类书籍一年到两年,很大程度上影响了ActionScript 在国内的推广和国内爱好者水平的提高。本书作者从事大型ActionScript 2 RIA项目开发已有数年经验,在Flash Player 8.5出现、ActionScript 3推出测试版开始,就已开始研究其架构,积累了丰富的第一手开发笔记。因此,本书的写作与国际ActionScript 3的研究发展是完全同步的。笔者在电子工业出版社的大力协助下,以严谨的学术态度撰写本书。笔者衷心期望,本书出版时,不仅是国内ActionScript 界第一本与国际同步的书籍,也能抛砖引玉,加速推动国内ActionScript 3 的研究开发步伐。本书为谁而写本书所讲的知识用于Flash、Flex下的ActionScript 3应用程序开发。本书的读者应具有基本的编程知识(不限语言),至少应理解变量、循环、函数等基本编程概念。写一本从ActionScript 3 初学者、ActionScript 3 中级爱好者到其他OOP语言(如C#、 Java)开发者都能看的书,是一件很有野心的事,事实上也难以完全做到。但据笔者观察,国内ActionScript 爱好者水平参差不齐。有部分ActionScript 2 高手,但更多的是ActionScript 2 或1中级爱好者,以及准备从Flash Designer(Flash设计)转向ActionScript 3 的新手。更有广大的其他OOP语言的读者,比如C#、 Java等,拥有良好的OOP基础,准备转向ActionScript 3 。随着RIA革命的到来,未来还有更多的、潜在的ActionScript 爱好者。这样的现状促使我向这个不可能的任务做一些力所能及的努力。经过分析,这几个群体有比较明显的特征,使得我可以在讲述的同时有所侧重,择善结合。对初学者你可能喜欢比较浅显的比喻和详细的讲解。有时告诉你原因,比简单罗列代码告诉你怎么做,可以更快让你理解根本,进入状态。本书正是这样一本Why-Oriented Book。本书与其他书的一个最大不同就是“面向原因”(Why-Oriented Book)的讲述方式,让你对每部分内容的由来清清楚楚。如果你对ActionScript 一点都不熟,那么恭喜你,你赶上好时候了。ActionScript 3 比以往的ActionScript 2或ActionScript 1要好学很多,好记很多。原因就是ActionScript 3 的结构更加标准和统一。不信,举个小例子,在ActionScript 2 中创建一个视觉元件的实例有 attachMovie()、createChildAtDepth()、createClassObject()……等八九种方法,每种方法都有自己的参数,而且要手动管理元件深度。而在ActionScript 3 中,一切都统一为new 元件名()就可以了。深度统一且自动管理。这样的改进实在太多了!所以抛开相对混乱的ActionScript 1和ActionScript 2,放心大胆地学习ActionScript 3吧。能直接学习ActionScript 3,绝对是新手的福气! 对于ActionScript 中级爱好者你往往具有一定水平和能力,ActionScript 2各个方面都有涉猎,但都不深。你需要有针对性的细节点拨和思路指导。你往往不喜欢婆婆妈妈的讲解,最喜爱具体的代码例子。但往往对自己掌握的程度估计不足,对自己知道的东西不加以深究,和高手的差距就在这里。本书用章节“*”号(有相当数量)和进阶知识这两个部分来针对这个群体。众所周知,知识的讲解应当是一个整体,不能每个知识点都有初级、中级、高级之分。你清楚的东西,对你而言就是初级。你不清楚的东西,往往就是高级。你知道并了解,但是不知道细节的东西,那就是中级。因此对于中级爱好者,我建议,在你快速翻完了本书所有“*”号和进阶知识之后,有空时你最好从头详细读一下其他章节。我相信,你绝对不虚此“读”。很多有用的知识点和ActionScript 3 技术上的实现细节,你可能还不清楚。举个小例子,比如,“加Label的continue、break的用法”,不少读者可能就不太清楚。加油,高手的称号指日可待!ActionScript高级爱好者你有一定的开发经验和知识水平,知道很多ActionScript 2 细节。但是ActionScript 2 和ActionScript 3 区别如此之大,你会感觉到有点沮丧。但,沮丧不久,你就会被ActionScript 3 标准的架构、优雅的实现和无限的潜能所吸引。你甚至发现ActionScript 3 其实比ActionScript 1、ActionScript 2要好学很多 ,好记很多。再过不了多久,你会发现ActionScript 3 是如此好用,如此方便,如此先进,以致于不可能再转回ActionScript 2了。这时候就逼你的老板用ActionScript 3开发产品吧。It’s your time。本书中有大量地方标注了和ActionScript 2不同的地方,可以让你快速地进入ActionScript 3的工作状态。并且提供了很多ActionScript 3中独有的技术细节和小技巧,为你日后的开发扫清很多小地雷。对C#、Java爱好者和开发者恭喜你,其实ActionScript 3 比它前辈的任何一个版本都接近C#、Java这两种语言。你学习ActionScript 3 ,将是真正的事半功倍。你真正想要知道的是,ActionScript 3和C#、Java有哪些不同点?ActionScript 3 编程有哪些部分需要重点学习?API有哪些不同,哪些是重点?在ActionScript 3中哪些细节需要注意?在本书中对大部分涉及到语言差异的地方都做了标注。你要做的是,看一下每章前面的导读,抓住重点,快速浏览章节。融会贯通这些基本的不同点之后,重点掌握ActionScript 3视觉编程部分和熟悉一些关键的API。当然,我特别建议你有空时能从头详细读一遍本书,很多ActionScript 3 独有的技术细节和小技巧可能是你需要了解的。你会发现, ActionScript 3 编程是这么的方便和美妙!ActionScript 3 这个标准的OOP语言,用起来是这么熟悉和顺手!和Flash合作编出的界面是这么漂亮优雅,易于拓展!强烈推荐你花点时间看一看第1章。 本书结构第1部分:ActionScript 3语言基础第2部分:ActionScript 3 面向对象编程第3部分:ActionScript 3 核心类第4部分:ActionScript 3主要的Flash Player API第5部分:ActionScript 3视觉编程如何使用本书本书建议按照章节顺序阅读。初级爱好者读到带“*”号的章节时,如有不明白的地方可以暂时跳过,以后有时间时回头再读。每章都有“本章导读”,读者可根据具体的“章节导读”来进行阅读。另外,本书提供了详细的章节目录、代码例子目录、表格目录等,也可以作为ActionScript 3 简要的工具书使用。在本书中,对类名、变量、代码、术语和重点句都特别用了样式来标明。著 者
媒体关注与评论
前言ActionScript 3与RIA时代的到来具有高度互动性、丰富用户体验及功能强大的客户端,是目前网络开发的迫切需求。Adobe公司的Flash Player凭借其全球97%的桌面电脑占有率和跨平台的优势,成为了事实上的下一代的RIA(Rich Internet Application,丰富因特网程序)主力。Adobe公司于2006年年中推出了强大的ActionScript 3 语言,和支持ActionScript 3 的新一代的虚拟机AVM 2。经测试,AVM 2执行ActionScript 3代码比以前的ActionScript 2 代码执行效率要快10倍以上。ActionScript 3,与ActionScript 2和1有本质上的不同,是一门功能强大的、面向对象的、具有业界标准素质的编程语言。它是 Flash Player 运行时功能发展中的重要里程碑。ActionScript 3是快速构建Rich Internet Application的理想语言。由于Adobe的Flex和Flash的成功,在业界已经掀起了RIA应用新浪潮!雅虎(Yahoo!)、eBay、Google都相继推出基于ActionScript的RIA应用程序和ActionScript API库。著名的应用案例有Yahoo Maps、eBay AIR拍卖程序、Google Analytics和Google Finance、微软的Wallop社区,等等。ActionScript 3 有以下优势: 对面向对象编程(OOP)语言的完全支持。核心语言基于ECMAScript(ECMA 262)标准,对OOP架构深层优化。 彻底更新的显示对象系统架构。 采用了先进的E4X,使XML成为ActionScript 3 语言的内建数据类型(native support)。操作直白、简单。与ActionScript 2比较,极大地减轻了XML数据处理工作量。 全面支持正则表达式。正则表达式也成了ActionScript 3的内建数据类型,ActionScript 3对字符串的处理能力空前增强。 标准的DOM 3事件实现。Flash API全面支持事件机制。 异常处理机制。 异常包括信息全面、易于调试和处理。Flash API全面支持异常处理机制。此外,ActionScript 3 积极迈向开源,赢得开源社区的欢迎。包括AVM 2虚拟机开源 ,源码赠送与Mozilla的Tamarin项目。Tamarin项目的开源,意味着ActionScript 3 虚拟机的开源。从而ActionScript 3 也将成为智慧无穷的开源社区的首选!2007年6月11日推出了Adobe Intergrated Runtime(AIR) Beta版,正式实现新一代的RIA概念——跨系统运行时(cross-operating system)的RIA程序。首次允许RIA程序访问本地资源,并进行离线存储,跳出了浏览器的限制,模糊了浏览器和桌面程序的界限,在线和离线的界限。AIR具有革命性的前瞻视角,被业界誉为RIA的第二次革命。而ActionScript 3就是用于开发AIR程序的主要核心语言。ActionScript 3的时代已经到来!我们正在迎接它的辉煌!本书的目标与特色本书目标ActionScript 开发界缺少一本真正的以面向对象思想来讲解的书籍,缺少从ActionScript 3语言架构上来分析的书籍。无论国内还是国外目前都缺少这样一本书。很多ActionScript 开发人员都只停留在知道OOP语法、会熟练运用ActionScript 3 提供的类库API阶段,而对OOP思想和ActionScript 3 整个系统架构脉络一知半解。买椟还珠,这是很可惜的。本书尝试以系统架构师的眼光,以面向对象思想为主轴,讲述ActionScript 3中面向对象的精髓和应用。从ActionScript 3 系统架构的高度,清楚明白地讲解ActionScript 3的API设计原因、原理和应用。面向对象思想和ActionScript 3系统架构就是RIA开发的任督二脉,打通之后,你就会觉得所有ActionScript 3知识都是共通共融、浑然一体的,从而再学习广阔的ActionScript 3开源世界中的其他东西时,也会觉得高屋建瓴、势如破竹 、轻松如意。在本书中,对于ActionScript 3中的面向对象讲解的广度和深度都远超过目前所有书籍。从广度上说,涵盖了OOP语法、重要API的运用、核心类包的结构……从深度上说,详细地解释了面向对象实现上的重大变化和实现细节,透彻地阐述了新一代的显示编程架构及应用。比如 ActionScript 3的几大新特色、重要的OOP法则、ActionScript 3语言本身在哪些地方使用了设计模式。从实用上说,每一个重要的应用都有实际的代码例子相结合,例如,有类绑定的种种实际做法和UIMovieClip类与Flex结合应用等。本书不仅仅介绍相关语法和运用,更重要的是解释如何设计与怎样使用。本书希望把你真正带往ActionScript 3编程的殿堂。本书特色 本书是一本“面向原因式”的书籍(Why-Oriented Book)。让你对所有细节的设计用意和原因清清楚楚。 以ActionScript 3 语言设计的本意和思路,深浅结合,讲解各个部分。尽可能使读者在了解ActionScript 3 语言的同时,更好地把握ActionScript 3 语言的思想。 重视实际运用,例子丰富。不算文中代码片段,仅完整类文件就近两百个,为编程提供实际的指导。本书在撰写所有部分时,力求达到两点:与实际的代码例子结合;讲述ActionScript 3 语言关于该部分的内部实现和技术细节。 以面向对象思想(OOP)为重点,例子和比喻结合。系统讲述了OOP思想及其在ActionScript 3 中的运用。并结合ActionScript 3本身的语言架构加以详细的分析。 横向比较其他优秀OOP语言。本书中有大量涉及到ActionScript 3和Java、C#等语言相比较的地方,使得已有其他OOP语言基础的读者可以快速了解ActionScript 3的独特之处,快速上手。 清楚地阐述ActionScript 2和ActionScript 3的不同及原因。对于ActionScript 3 大部分相对于ActionScript 2 的改动,本书不但一一指出,还从理论上解释为何改变,以及相关的实现,使ActionScript 2 程序员快速上手ActionScript 3 ,并对ActionScript 2代码移植有相当大的帮助。本书为何而写长时间以来,国内ActionScript 方面的书籍总是落后国外同类书籍一年到两年,很大程度上影响了ActionScript 在国内的推广和国内爱好者水平的提高。本书作者从事大型ActionScript 2 RIA项目开发已有数年经验,在Flash Player 8.5出现、ActionScript 3推出测试版开始,就已开始研究其架构,积累了丰富的第一手开发笔记。因此,本书的写作与国际ActionScript 3的研究发展是完全同步的。笔者在电子工业出版社的大力协助下,以严谨的学术态度撰写本书。笔者衷心期望,本书出版时,不仅是国内ActionScript 界第一本与国际同步的书籍,也能抛砖引玉,加速推动国内ActionScript 3 的研究开发步伐。本书为谁而写本书所讲的知识用于Flash、Flex下的ActionScript 3应用程序开发。本书的读者应具有基本的编程知识(不限语言),至少应理解变量、循环、函数等基本编程概念。写一本从ActionScript 3 初学者、ActionScript 3 中级爱好者到其他OOP语言(如C#、 Java)开发者都能看的书,是一件很有野心的事,事实上也难以完全做到。但据笔者观察,国内ActionScript 爱好者水平参差不齐。有部分ActionScript 2 高手,但更多的是ActionScript 2 或1中级爱好者,以及准备从Flash Designer(Flash设计)转向ActionScript 3 的新手。更有广大的其他OOP语言的读者,比如C#、 Java等,拥有良好的OOP基础,准备转向ActionScript 3 。随着RIA革命的到来,未来还有更多的、潜在的ActionScript 爱好者。这样的现状促使我向这个不可能的任务做一些力所能及的努力。经过分析,这几个群体有比较明显的特征,使得我可以在讲述的同时有所侧重,择善结合。对初学者你可能喜欢比较浅显的比喻和详细的讲解。有时告诉你原因,比简单罗列代码告诉你怎么做,可以更快让你理解根本,进入状态。本书正是这样一本Why-Oriented Book。本书与其他书的一个最大不同就是“面向原因”(Why-Oriented Book)的讲述方式,让你对每部分内容的由来清清楚楚。如果你对ActionScript 一点都不熟,那么恭喜你,你赶上好时候了。ActionScript 3 比以往的ActionScript 2或ActionScript 1要好学很多,好记很多。原因就是ActionScript 3 的结构更加标准和统一。不信,举个小例子,在ActionScript 2 中创建一个视觉元件的实例有 attachMovie()、createChildAtDepth()、createClassObject()……等八九种方法,每种方法都有自己的参数,而且要手动管理元件深度。而在ActionScript 3 中,一切都统一为new 元件名()就可以了。深度统一且自动管理。这样的改进实在太多了!所以抛开相对混乱的ActionScript 1和ActionScript 2,放心大胆地学习ActionScript 3吧。能直接学习ActionScript 3,绝对是新手的福气! 对于ActionScript 中级爱好者你往往具有一定水平和能力,ActionScript 2各个方面都有涉猎,但都不深。你需要有针对性的细节点拨和思路指导。你往往不喜欢婆婆妈妈的讲解,最喜爱具体的代码例子。但往往对自己掌握的程度估计不足,对自己知道的东西不加以深究,和高手的差距就在这里。本书用章节“*”号(有相当数量)和进阶知识这两个部分来针对这个群体。众所周知,知识的讲解应当是一个整体,不能每个知识点都有初级、中级、高级之分。你清楚的东西,对你而言就是初级。你不清楚的东西,往往就是高级。你知道并了解,但是不知道细节的东西,那就是中级。因此对于中级爱好者,我建议,在你快速翻完了本书所有“*”号和进阶知识之后,有空时你最好从头详细读一下其他章节。我相信,你绝对不虚此“读”。很多有用的知识点和ActionScript 3 技术上的实现细节,你可能还不清楚。举个小例子,比如, “加Label的continue、break的用法”,不少读者可能就不太清楚。加油,高手的称号指日可待!ActionScript高级爱好者你有一定的开发经验和知识水平,知道很多ActionScript 2 细节。但是ActionScript 2 和ActionScript 3 区别如此之大,你会感觉到有点沮丧。但,沮丧不久,你就会被ActionScript 3 标准的架构、优雅的实现和无限的潜能所吸引。你甚至发现ActionScript 3 其实比ActionScript 1、ActionScript 2要好学很多 ,好记很多。再过不了多久,你会发现ActionScript 3 是如此好用,如此方便,如此先进,以致于不可能再转回ActionScript 2了。这时候就逼你的老板用ActionScript 3开发产品吧。It’s your time。本书中有大量地方标注了和ActionScript 2不同的地方,可以让你快速地进入ActionScript 3的工作状态。并且提供了很多ActionScript 3中独有的技术细节和小技巧,为你日后的开发扫清很多小地雷。对C#、Java爱好者和开发者恭喜你,其实ActionScript 3 比它前辈的任何一个版本都接近C#、Java这两种语言。你学习ActionScript 3 ,将是真正的事半功倍。你真正想要知道的是,ActionScript 3和C#、Java有哪些不同点?ActionScript 3 编程有哪些部分需要重点学习?API有哪些不同,哪些是重点?在ActionScript 3中哪些细节需要注意?在本书中对大部分涉及到语言差异的地方都做了标注。你要做的是,看一下每章前面的导读,抓住重点,快速浏览章节。融会贯通这些基本的不同点之后,重点掌握ActionScript 3视觉编程部分和熟悉一些关键的API。当然,我特别建议你有空时能从头详细读一遍本书,很多ActionScript 3 独有的技术细节和小技巧可能是你需要了解的。你会发现, ActionScript 3 编程是这么的方便和美妙!ActionScript 3 这个标准的OOP语言,用起来是这么熟悉和顺手!和Flash合作编出的界面是这么漂亮优雅,易于拓展!强烈推荐你花点时间看一看第1章。 本书结构第1部分:ActionScript 3语言基础第2部分:ActionScript 3 面向对象编程第3部分:ActionScript 3 核心类第4部分:ActionScript 3主要的Flash Player API第5部分:ActionScript 3视觉编程如何使用本书本书建议按照章节顺序阅读。初级爱好者读到带“*”号的章节时,如有不明白的地方可以暂时跳过,以后有时间时回头再读。每章都有“本章导读”,读者可根据具体的“章节导读”来进行阅读。另外,本书提供了详细的章节目录、代码例子目录、表格目录等,也可以作为ActionScript 3 简要的工具书使用。在本书中,对类名、变量、代码、术语和重点句都特别用了样式来标明。 “样式和格式”中的名称 范 例类名 !类名 ErrorEvent, EventDispatcher变量和代码 !变量和代码 updaetAfterEvent()重点强调句 !重点文字 被关键字final定义过的实例方法不能被重写;父类的private成员不能被重写编程语言关键字 !关键字 instanceof如何使用本书中的例子和源代码随书光盘中有一个视频教程目录,为swf格式。里面有详细的视频教程教你如何更加有效地使用本书中的例子和光盘中的源代码。勘误及反馈读者如果对本书有意见和建议,请到笔者个人博客http://books.kingda.org上交流。本书涉及面广,内容多,难免有所错漏。勘误信息也会第一时间在http://books.kingda.org 上公布。书中所有术语翻译参考ActionScript 3 官方文档和微软的.NET术语对照表。致谢感谢我的父母,亲情永远是我强大的动力!感谢我的MM,谢谢你容忍我一年多来不曾陪你逛街!感谢我的公司和同事!我们是一流的团队,追求顶尖的RIA体验!成功属于勤奋者。感谢电子工业出版社易飞思公司郭晶女士、何郑燕女士。多谢二位的耐心,支持我一再推迟交稿期限,给予我相对充分的时间写作。多谢二位的热情和信任,这在写书的苦闷中给了我很大的支持。在此特表感谢!著 者
编辑推荐
《Flash ActionScript3殿堂之路》适合有基础编程知识(不限语言)的Flash、Flex、AIR爱好者和开发人员,尤其适合ActionScript 2读者。本书还可为Java、C#等其他OOP语言爱好者学习ActionScript 3提供横向比较和导读。
图书封面
图书标签Tags
无
评论、评分、阅读与下载
Flash ActionScript 3殿堂之路 PDF格式下载