您的浏览历史

ActionScript 3.0 编程精髓(china-pub首发)

促销活动
  • [本书]参加机械工业出版社华章公司满58元赠书活动
精彩评论

基本信息

编辑推荐

在Web开发领域,本书已经被圣经化;.
ActionScript 3.0公认经典杰作!..
Flex/Flash开发者必备宝典!
被大家称为:The Colin Moock book ...

内容简介回到顶部↑

本书极其透彻而详尽地介绍了ActionScript编程。如果你此前没有编程知识,那么本书将循序渐进地指引你开始精通ActionScript之旅。如果你对ActionScript有所了解,那么本书将帮助你填补知识空缺并规范地回顾重要概念。 ActionScript 3.0是F1ash编程语言的一次重大升级。它更加高效、更加清晰,并且比先前版本更加完善。本书对理解ActionScript 3.0所需要的每个重要概念给出了易懂而细致的解释,对实现ActionScript 3.0的全部潜能提供了足够深入的讲解。

目录回到顶部↑

序言
第一部分 ActionScript起步
第1章 核心概念
  编写ActionScript代码的工具
  Flash客户端运行时环境
  编译
  快速回顾
  类和对象
  创建一个程序
  包
  定义一个类
  虚拟动物园简介
  构造方法
  创建对象
  变量和值
  构造参数和参量
  表达式
  把变量的值赋给另一个变量
  宠物的一个实例变量
  实例方法

译者序回到顶部↑

ActionScript是一种基于ECMAScript的编程语言,用于创建应用程序和编写多媒体内容以在Flash客户端运行器中播放。ActionScript从2.0发展到3.0与其说是一次版本上的升级,倒不如说是一次革命性的更新。无论从语法、虚拟机性能还是语言所提供的功能等诸多方面,Adobe都对它做出了重大的改进。ActionScript 3.0是一门真正的面向对象程序设计语言。.
《Essential ActionScript 3.0》是Colin Moock的最新力作,堪称ActionScript 3.0宝典。翻译本书源于一次宝贵的实习经历让我有机会在一个项目中使用ActionScript3.0。然而,就是那次不经意的短暂接触让我对这门语言产生了浓厚的兴趣。ActionScript 3.0的简单易学给我留下了深刻的印象。由于有一定的编程基础知识,我通过几天的学习就可以自由地使用这门语言了。然而随着深入的学习,ActionScript 3.0提供的强大功能更让我惊叹不已,而如何更好地理解语言的内部机制并在实际的开发中灵活运用它们也成了摆在我面前的最大难题,我亟需一本内容详尽的技术书籍来指导我的深入学习。就在这个时候,Moock大师终于推出了令人期待的大作《Essential ActionScript 3.0》,一时间成为ActionScript开发社区的热门话题,为人们所关注。我有幸在第一时间阅读了本书,并且更是被Moock大师的写作艺术深深折服,他以平易近人的口吻把ActionScript 3.0的博大精深用深入浅出的方式呈现给读者。他不仅把ActionScript 3.0的语言机制阐释得淋漓尽致,同时把它和面向对象紧密地结合在一起。海量的示例程序更是匠心独运,使读者能够在实际运用中加深了对语言的理解。随着富互联网时代的到来,我深信这门语言将引发网络开发上的又一次风暴,ActionScript 3.0的易用性和强大功能也将使其成为主流的网络开发语言之一。然而对于很多初学者来说,语言上的障碍无疑成了他们深入掌握这门语言的最大障碍。这促使我决心翻译本书,与广大的Flash和ActionScript的开发者一起分享这部经典之作,同时对于我个人也会是一次难忘的学习和锻炼机会。..
这本书的翻译历时三个月,近八百页可谓是一本厚书。为了让这本书能够尽早和读者们见面,我把能够挤出的几乎所有时间都用在翻译上,翻译本书的过程是艰辛而令人难忘的。当然要在这么短的时间内高质量地完成如此厚的一本书的翻译,仅凭我一个人的精力是几乎不可能的。这期间我得到许多亲人和朋友的关心和眷顾。与此同时,他们也帮我对译稿进行了细致的审阅并且提出了大量的修改意见。刘璟审阅了第1、2、3和4章,庄莉莉审阅了第5、6和7章,卢闰明审阅了第8、9和10章,蔡惠如审阅了第11和12章,林水竹审阅了第13、14和15章,陆萌审阅了第16和17章,胡元洪审阅了第18和19章,黄丽审阅了第20和21章,郑海涛审阅了第22、23和24章,宋琳琳审阅了第25和26章,刘宇审阅了第27和28章,徐巧娟审阅了第29、30和31章。
与此同时,本书的翻译得到了机械工业出版社华章分社编辑陈冀康先生的大力的支持和信任。出版社的其他工作人员为我分担了大量的审校和排版工作,使我得以全身心地投入到本书的翻译当中。我对他们表示深深的谢意。...
林吓洪
2007年11月于上海

前言回到顶部↑

ActionScript是Adobe的Flash平台的官方编程语言。尽管最初是作为一个用于控制动画的简单工具而被构思的,但此后ActionScript却发展成了一门复杂的编程语言,用于为Web、移动设备和桌面计算机创建内容和应用程序。贴切它的根本,ActionScript可以被许多不同的程序员和内容制作者用于许多不同途径。例如,一个动画片制作者可能就使用几行的ActionScript来暂停一个Web动画的播放。或者,一个界面设计者可能使用几百行的ActionScript来为一个移动电话界面增加交互性。或者,一个应用程序开发人员可能使用几千行的ActionScript来为Web浏览器和桌面配置创建一个完整的e-mail阅读应用程序。.
本书真正全面而详细地介绍了ActionScript编程基础,具有最大程度的清晰度和精确度。它无比的准确度和深度是整整十年来对ActionScript日常研究、实际编程经验和与Adobe工程师的充分内部沟通的结果。本书的每个字都被Adobe主要工程人员包括那些Flash播放器、FlexBuilder和Flash“编写”团队中的人员非常仔细地(在多种情况下反复多次地)复查过(参看本序言末尾的“致谢”部分。)。
欢迎初学者
本书从一个程序员的视角去钻研ActionScript,但前提是假设其没有预先的编程知识。如果你之前从未编过程序,请从第1章开始看起。它将指导你掌握ActionScript最基础的知识,并解开像variable、method、class和object之类的术语的神秘面纱。接着本书循序渐进地展开。每一章都建立在前三章的概念上,以一种单独、持续的叙述介绍新主题,这将指引你踏上精通ActionScript的旅途。
然而请注意,如果你是一个仅仅想学习如何在Flash authoring tool中控制动画的设计者,你可能不需要这本书。Adobe的说明文档将告诉你需要知道什么。而如果是想学习如何给你的内容增加逻辑和编程行为的话,就可以参照本书了。
专家指导
如果你已经具备了ActionScript经验,本书将帮助你填补知识缺口,以正规术语回想重要概念,以易懂而精致的语言理解困难的主题。你可以把本书看成是一位陪坐在案头的ActionScript专家。你可能要它解释ActionScript事件体系结构的精妙,或阐明FlashPlayer安全系统的错综复杂,或者示范ActionScript原生XML支持(E4X)的强大。或者你可能为了未说明的主题信息而求助于本书,诸如命名空间、内嵌字体、访问装载内容、类库分布、垃圾回收和屏幕更新。
本书是一本真正的开发人员手册,充满实用的解释、富有洞察力的提醒和有用的示例代码,以示范如何把工作完成好。
本书中有什么
本书分为三部分。
第一部分,ActionScript起步,提供ActionScript语言核心的全面介绍,介绍面向对象编程、类、对象、变量、方法、函数、继承、数据类型、数组、事件、异常、作用域、命名空间、XML。第一部分以对Flash Player安全体系结构的纵览结束。
第二部分,显示和交互作用,研究关于在屏幕上显示内容和响应输入事件的技术。介绍的主题包括Flash运行器显示API、分层的事件处理、鼠标和键盘交互、动画、向量图、位图、文本和内容装载操作。
第三部分,实用的ActionScript主题,集中于ActionScript代码制造问题。介绍的主题包括把ActionScript和在Flash编写工具中手工创建的资源相结合,在Flex Builder 2中使用Flex框架,以及创建自定义的代码库。
本书以对一个完整功能的示例程序——虚拟动物园的遍历结束。
本书中没有什么
ActionScript生态系统是庞大的。没有一本书能将它介绍完全。值得注意但却没有在本书彻底介绍的主题包括:
MXML
Flex框架
Flex数据服务
Flash编写工具的内建组件

序言回到顶部↑

我们想像这样一个世界,每一种数字交互(无论在教室、办公室、住所、机场还是汽车中)都是一种强大、简单、有效的美妙体验。Flash Player正被广泛用于提供这种体验,并且已经发展成为了一个跨浏览器、操作系统和设备的尖端平台。.
驱动Adobe进行Flash Player革新和开发的主要动力之一是看到了开发人员正在拓宽可能的开发边缘,从而允许更多开发人员来完成这项工作。
回望2001年的机器,你会看到网络正在被广泛使用并且网站的早期标志不仅包含页面而且包含交互式应用程序。这些应用程序最初使用HTML表单并依赖于网络服务器来处理表单信息。少数前沿的开发人员正致力于在Flash中使用ActionScript以利用客户端处理的优点实现更加灵敏的交互作用。成功的交互应用程序的最早示例之一是BroadmoorHotel的宾馆预订系统,它从一个多页的HTML表单转移到一个单屏的高度交互的预订界面,从而使其网上预订增加了89%。
很显然,灵敏度是关键。它能创造一种更加有效而美妙的体验。然而,在2001年的时候对于性能、脚本语言的能力、易于调试以及设计受限于浏览器(是为查看页面而不是主机应用程序而产生的)几方面都生产了大量要求。
我们曾想过很多办法并且广泛地和开发人员对话,同时决定着手这一任务以实现这种趋势,并将其归类命名为“富互联网应用程序(RIAs,Rich Internet Applications)”。为了更好地支持RIAs,我们把目标定为建立:
在FlashPlayer中的一个大大提速的ActionScript 3.0虚拟机
一个叫做Flex的开发框架,以便从根本上更加易于创建RIAs
一个特别为富互联网应用程序提供完整能力的环境,称为Adobe集成运行环境(AIR,Adobe Integrated Runtime)。在dot—com泡沫破碎期间,我们着眼于实现富互联网应用程序这一未来世界
我们继续投入于开发各种技术并为即将再次爆发的网络革新做准备。革新之日已经全面回归,并且我高兴地看到富互联网应用程序正和Web 2.0一起盛行起来。开发人员正在运用各种技术和框架来创建应用程序,这些技术利用了互联网的分布式创造性,还利用了HMTL、Flash、Flex、Ajax的优点以及客户端和服务端之间的平衡逻辑。
全新的虚拟机现在已经提供于Flash Player 9中,使得ActionScript 3.0的运行得到重大提速并且依据ECMA语言标准实现了大部分最新工作(JavaScript遵循相同的标准)。这一新式的实现现在也和Mozilla Foundation一起随Tamarin项目进行开源发行,以使得Flash Player团队和Mozilla工程师以及其他的人一起工作在开源社区,来继续优化该虚拟机并和最新的标准工作保持一致。这一核心的脚本引擎将随时间而包含于Firefox中,从而达到在HTML和Flash中脚本的一致性。
目前开发框架也已经随着Flex发布了,它允许通过常用模式来快速开发交互和数据管理,并且整个框架都建立在ActionScript 3.0上。Flex框架可以免费获得,并且该框架源代码也包含其中以使得你可以具体查看它是如何工作的。你可以利用任何编辑器来使用Flex编写代码,并且一个叫做Adobe Flex Builder的具体IDE也可以使用了。
在见证了网络革新的回归和追求于这一梦想的同时,我们决定通过Adobe和Macromedia来统一这些努力。然而Macromedia是用Flash来驱动RIAs的,Adobe正在变革电子文档在其他领域的传递。随着时间的推移,我们看到Macromedia将给RIAs添加电子文档能力并且Adobe将为整个电子文档添加RIA能力。我们联合各种力量实现下一代文档和RIAs的梦想,将世界上最好的电子文档技术和世界上最好最普及的RIAs技术结合起来,而不是分散地走这些路线和进行重复劳动。这是一次难以置信的强大结合。..
在我们宣告这一合并之后,我们创建了一个“静室(Clean Room)”团队策划下一代软件,利用目前为止我们所知的一切,包括在新的Adobe AIR环境中为RIAs将Flash、PDF和HTML结合在一起的可能性。
AIR项目事实上是我们为创建这一全新环境的第三次尝试。前两次尝试是一个叫Central的实验项目的一部分,该项目代号为Mercury,在美国太空计划之后为Gemini,而AIR代号为Apollo。我们从前两个项目中学到了很多,我喜欢这样提醒团队成员,Apollo是真正到达月球的一个。
使用AIR,你可以运用你已有的网络开发技巧(Flash、Flex、HTML、JavaScript、Ajax)来创建并部署RIAs到桌面上。正如网络发布允许任何人使用基础的HTML技巧创建一个网站,AIR也允许任何人使用基础的网络开发技巧来创建一个桌面应用程序。
作为一名开发人员,你现在能够和你的用户建立起更加紧密的联系。使用浏览器,你可以和你的用户有一个短暂的不甚密切的联系。他们浏览一个页面然后离去。AIR允许你创建一个体验从而能够保持你和客户的持续联系。和桌面应用程序一样,AIR应用程序在桌面上、Windows开始菜单中或者OS X dock中都有一个图标。同时,当你运行一个网络应用程序的时候,它是一个和你的计算机相分离的世界。你不能轻易地把本地数据和你的网络应用程序整合在一起,例如,你不能仅仅通过拖动Outlook联系方式并将其置于基于网页的地图应用程序中来获知朋友的家的方向。然而使用AIR应用程序你就可以,因为它在计算机和互联网二者的分歧之间架起了桥梁。
我相信AIR代表着一种全新媒介的开始。并且建立这些应用程序是很有趣的事。如果你早点开始,它就能使你的应用程序具备其他人所没有的能力——特别是增加你的应用程序在计算机上的出现次数以及在网络和桌面之间进行连接。
这些RIAs的核心是ActionScript语言,无论它们运行在浏览器的Flash Player中,还是通过AIR作为一个桌面应用程序,或是用在移动设备上。ActionScript语言的每一代都已经被Colin Moock详尽地描述在这一系列的O'Reilly书中,并将成为大多数Flash开发人员案头常备参考书。使用ActionScript 3.0,你将拥有空前的能力来创建迷人的应用程序,而具有这本参考书则能使你凭借深入的理解来有效地使用这一能力。
我期待看到你创建的东西并提前领略下一代应用程序。持续推进在互联网上可能开发的边缘会使全世界人的体验更加美妙而有效,并且我们将尽最大的努力继续带来更多迷人之处和能力以助你一臂之力。...
——Kevin Lynch

书摘回到顶部↑

第一部分 ActionScript起步
  第1章 核心概念
  程序(Program)是一个编写好的将被计算机或者应用软件执行(即运行)的指令集合。这个编写好的人类可读的程序文本称为源代码(Source code)或者代码。创建该程序的人称为程序员(Programmer)、编程人员(Coder)、或者开发人员(Developer)。每个程序都是用一种特定的程序语言编写,就像每本书都是用一种特定的语言(英语、德语、日语等)编写的一样。程序语言规定程序员在特定程序中编写指令时必须使用的句法和语法。本书提供的内容全面地包括了句法、语法和一门特殊的程序语言ActionScript 3.0的使用。准备开始一段愉快的时光吧。
  编写ActionScript代码的工具
  ActionScript代码是由普通的文本编写成的,因此一个简单的文本编辑器,如Windows中的Notepad或者Macintosh中的TextEdit就可以创建ActionScript程序。然而,大多数ActionScript程序员使用Adobe系统公司开发的两个商业工具Flex Builder和Flash authoring tool来编写代码。
  Flex Builder是一个集成开发环境(Integrated Development Environment),或者简称为IDE。IDE是一个用于编写和管理代码的应用程序,就像字处理器是一个创建印刷文件的应用程序一样。开发人员使用Flex Builder并辅以ActionScript或者MXML来创建应用软件和多媒体内容。MXML是一门基于XML的用于描述用户界面的语言。
  相比之下,Flash authoring tool是一个设计、动画和编程的混合编辑器。开发人员使用Flash authoring tool把ActionScript和手工绘图、动画和多媒体资源结合起来创建应用软件和多媒体内容。
  ……
评论交流

共有87人开贴评论  104人参与评论  63人参与打分 查看

24人
 38%
用户平均打分
我要写评论 help如何参与评论和打分
11人
 17%
9人
 14%
3人
 4%
16人
 25%

aoliao
三级评论员
评价等级:  
发表于:2008-9-26 21:40:00
连基本的变量作用域恐怕都讲不清楚吧,下面的枪手是不是也太多了。不如张亚飞的《Flash ActionScript 3.0开发王》这本好,能将Flash融入到整个网络开发中,并且张亚飞还建立了“基于时间轴的知识体系”,简单易学,初入门者也能很快学会,老鸟也能深受其益。

读一读《Flash ActionScript 3.0开发王》的前言就知道了,事实胜于再多的枪手。
http://www.china-pub.com/40001
回复 ( 8条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得13个)

kingwmx
一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-9-1 13:22:00
一些稍微长点的句子就翻译得不通顺, 纸张奇烂, 平放也可以看到背面的字。。。。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

siyang1982
一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-6-21 8:50:00
好书,不用多说。如果只能买一本AS的,就是这本吧
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得1个)

after90
一级评论员
精彩书评
评价等级:  
发表于:2008-7-2 9:54:00
最近正在看这本书,作者翻译还是可以的,至少翻译还是忠于原文的。听到评论说XML这节翻译的不好,特地跳翻过去看了一下。我感觉作者应该为了做到尽量精确才特意这么翻译的。书中的祖先和后裔泛指非直系的前辈和后代,父亲和孩子指直系的。和原著中的文字挺对应的。如果全部都用父节点,子节点,反而掩盖了细节。当然这么翻译感觉读起来确实很别扭,像是在讨论家事,哈哈。
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得1个)

xiaoyat
二级评论员
精彩书评
评价等级:  
发表于:2008-6-4 16:05:00
这是Colin Moock 的最新作品,称得上是ActionScript 3.0 宝典了。看这本书,如果有一定的基础,在几天内就能自由地使用这门语言了。Moock在ActionScript社区的权威地位,读了英文原版,被他的写作艺术深深折服,我相信这本书不用推荐,只要是该领域的人都得必备的图书。
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得2个)
我要写评论
查看所有评论交流(共87条)