Flash ActionScript3 殿堂之路 第一章:ActionScript3语言介绍与开发环境

本章简略介绍ActionScript3语言的历史、新增特色和开发工具,并讲解了各种开发环境设置,以及第一个ActionScript3程序。

本章导读

对于ActionScript3初学者,本章将带你了解整个Action Script语言的发展、变化和现状,让你有一个总体的印象。其中1.2节讲述新特色的部分,如果你暂时不理解,没有关系,可以跳过,并不影响后续学习。本书的目标就是为了在日后的学习过程中,让你一步步地掌握ActionScript3所有的强大功能。1.4节编译流程也可以暂时跳过不看。

对于ActionScript2开发人员,了解ActionScript3的发展历史,以及AVM2Flash PlayerAIR运行时、ABC bytecodeMXML等这些重要概念对日后的编程很有助益,请仔细阅读。本章中将介绍ActionScript3的新特色,笔者刚了解到其新特色时就兴奋不已,大多数人应该都会有同感吧。被ActionScript2折磨了这么多年,使用ActionScript3这些强大工具实在是太开心了。1.4节“编译流程”讲解了一些底层的编译知识,请留意。

对于其他OOP语言开发人员,了解ActionScript3的发展历史、市场现状和开源程度一定会让你对ActionScript3刮目相看。因为,ActionScript3比以前的ActionScript语言已经有了本质的飞跃。ActionScript3的新增特色中,有很多独有的强大功能,非常适合因特网应用程序开发。试问,《Thinking in Java》的作者Bruce Eckel 为何如此推崇FlexActionScript3Mozilla为何使用ActionScrpt3的语言引擎来开发下一代浏览器的核心JavaScript引擎?Adobe AIR为何引起业界具体的震动和追赶?这些都说明了什么?你可能已经是一个熟练的程序员,本章的小小愿望便是:想勾起你学习这门崭新语言的强烈兴趣,与你分享技术飞速发展所带来的快乐。

1.1ActionScript3 介绍

ActionScript3,与ActionScript21有本质上的不同,是一门强大的、面向对象的、具有业界标准素质的编程语言。他是FlashPlayer运行时功能发展中的重要里程碑。ActionScript3是快速构建丰富互联网程序(Rich Internet Application,简称RIA1的理想语言。

2006年起,RIA的浪潮已经席卷而来。网络应用中对前端客户程序的复杂度、用户体验的要求已越来越高。RIA概念最先由Macromedia公司(现已并入Adobe公司)在数年前提出并致力推广。从2006年到2007年,业界巨头公司纷纷推出了自己的RIA技术追赶Flash,比如Sun公司的JavaFX技术、微软Sliverlight(前身为WPF/E)。目前,就这些追赶者的技术而言,不论是在市场占有率(Flash Player在全球电脑上的普及率达98.7%),还是在技术成熟、全球开发群体规模、开源项目、已有市场运用上,都无法和Flash Player应用程序相匹敌。而AdobeRIA平台Flash Player占有绝对优势。

除了已经广被接受的RIA概念外,Adobe2007611日推出了Adobe Intergrated RuntimeAIRBeta版,正式实现新一代的RIA概念——跨系统运行时(cross-operating system)的RIA程序。首次允许RIA程序访问本地资源并进行离线存储,跳出了浏览器的限制,模糊了浏览器和桌面程序的界限,以及在线(online)和离线(offline)的界限,AIR的前瞻视角时革命性的。

不论是Flash Player程序还是AIR程序,都真正支持跨系统应用,其核心语言都是Action Script 3。不仅如此,下一代Firefox浏览器核心JavaScript引擎也是基于Action Script 3 的虚拟机AVM2开发的。与此同时,Adobe推出的Action Script 3程序开发工具Flex也越来越受到广大的Java社区和其他OOP社区的关注和青睐。《Thinking In Java》的作者Bruce EckelFlexAction Script 3 赞誉有加,并多次在公开的讨论会上推广。

Action Script 3 已经毫无疑问地成为目前和下一代因特网应用程序编程语言的主流。

 

1.1.1 ActionScript发展历史简述

ActionScript前身出现于Flash Player4中,用于控制Flash内容,并进行简单的交互性脚步编写。它并不复杂,其语法和语义与ECMAScript也不相同。ActionScript1是在Flash5的时代诞生的,这时的版本就已经具备了ECMAScript标准的语法格式和语义解释。随着Flash Player5/6的版本更新,越来越多的ECMA语法和语义被纳入到ActionScript1API当中去。但是核心语言的编译处理及表现方式都是延续了Flash5ActionScript1的标准。甚至于到后来的Flash7,它里面的ActionScript1的核心解释机制仍然与Flash Player 5 有着很多相同之处。2

Action Script 2 可以看成上Action Script 1 的面向对象编程包装版。Action Script 2 的代码编写引入面向对象编程的方式,有良好的类型声明,而且分离了运行时和编译时的异常处理。但是,Action Script 2 只是在编译阶段支持这些标准OOP语法,在运行时仍然使用是ActionScript1的模式。因此,ActionScript2ActionScript1在性能上不会有本质的区别。虽然它们在格式上遵从了ECMA4的语言方案,但是并不真正ECMAScript标准。

ActionScript2OOP语言的支持远远谈不上全面,但是它是首次将OOP编程概念引入到了Flash开发界。到FlashMX2004时,ActionScript2已经渐渐被广大Flash开发者所接受。在20059月,Macromedia引入了Flash Player8,此时,基于ActionScript2RIARich Internet Application,丰富互联网程序)开发开始进入新的热潮。Flash Player 8 提供革命性的新表现力和呈现性能,包括位图效果、滤镜、Alpha视频和一个用于Flash视频的新的视频编/解码器,扩展了运行时的功能,并改进了外部API之间的Flash至浏览器通信。除此之外,还支持综合的、复杂的应用程序的文件上传和下载功能,所有这些新功能都导致Flash8内容在Internet上快速衍生,推动了Flash Player在其历史中最快速地采用。诸多业界巨头相采用Flash做前端平台开发,比如YahooMapYoutube的视频、GoogleFinanceanalysisMicrosoftRIA社区Wallop,等等。

这些功劳有不少要归功于AVM1,即ActionScript Virtual Machine1ActionScript虚拟机1),这是用于执行ActionScript代码的虚拟机。它增强了FlashPlayer8以前播放器的功能,并使范围广泛的交互媒体和Rich Internet Application成为可能。

但是,随着RIA浪潮不断扩大,大型项目连接出现,新的需求不断生产,开发人员已开始将AVM1推至其极限。对ActionScript开发界来说,不管时语言还是在性能上,都亟需一个重大的突破。

1.1.2 Flash Player 9AVM2

官方的Flash PlayerActionScript开发团队认识到发展现有引擎,将有着太多限制而无法继续。经过这些可敬的人们长期不断的努力后,Flash Player的历史转折点到来了。

Flash Player9 版本首次引入了ActionScript3和新一代的ActionScript引擎——ActionScript Virtual Machine 2 AVM2)。ActionScript3基本上时ActionScript引擎的完全重写。AVM2是一个新的、高度优化的虚拟机(称为AVM2)。AVM2显著超越了使用AVM1可能达到的性能。ActionScript3在其中执行可以达到前所未有的高效率和高性能。结果,ActionScript3代码执行的速度最多可以比原有ActionScript代码快10倍。

除了提高的性能和更加有效的内存利用之外,ActionScript3还提供一个编程模型,该模型对于来自其他平台的开发人员来说将非常熟悉。ActionScript3不仅语言行为更加一致和标准,还拥有数百个新的API用于诸如E4X、正则表达式和二进制套接字等功能。这些新功能使开发者对内容和应用程序有了更好的控制。另外,还增加了类、界面、包、名称空间和强制类型化变量的可选编译模式,这使得ActionScript3对于大型应用程序开发更有吸引力。详细的特色介绍见下节。

这些新的语言功能是基于ECMAScript 4 Netscape Proposal【参考文献1】标准的。Adobe是开发ECMAScript Edition 4ES4)标准的ECMA国际编程语言技术委员会(TC39-TG1)的积极参与者。ActionScript3的未来版本预期与新兴的ES4标准完全兼容。

ActionScript3的语法对其他主流OOP语言开发者来说,将更加熟悉和一致。

支持ActionScript3AVM2成为ActionScript执行的主要虚拟机。为了向后兼容考虑,Flash Player将继续支持较旧的AVM1。目前Flash Player 9中就有两套虚拟机:AVM1AVM2

1.1.3 MacromediaAdobe的合并

2006年,首次引入ActionScript3语言的Flash Player8.5版本推出不久,MacromediaAdobe收购。两家都是成功的公司,进行了一次成功的联姻。2007327Flash创作工具Flash 9 正式发布,并且命名为Flash CS3,成为了Adobe Creative Studio 3.0 中的一个成员。从此,Flash创作与Adobe公司的矢量图形软件Illustrator、业界标准的位图图像处理软件Photoshop完美地结合在一起。互相之间的文件转换和导入支持更加完美。

1.1.4 ActionScript3与开源世界

不论是语言还是技术,只有开源并获得广大开源社区的智慧,才会有超强的生命力和号召力。ActionScript3也一样。

值得高兴的是,Adobe一直在往开源的方向大步迈进。2006117日,Adobe宣布将ActionScript Virtual Machine2AVM2)的代码捐献给Mozilla Foundation。因此,Mozilla启动了一个新的开发源码项目Tamarin3AdobeMozilla希望以此促进这种创建Web应用程序的标准化语言的推广。Tamarin项目的目标是实现一个高性能的开放源码的ECMAScript第四版(ES4)语言规范实现。MozillaSpiderMonkey中使用Tamarin Virtual Machine。优秀的开源浏览器Firefox和其他基于Mozilla的产品将嵌入SpiderMonkey作为核心JavaScript引擎。Adobe将继续在Adobe Flash PlayerActionScript Virtual Machine中使用这些代码。下一代的JavaScript2也将全面兼容ES4标准,因此和ActionScript3异曲同工。学习ActionScript3后再学习JavaScript2,基本上没有什么障碍。

除了AVM2源码开源外,Adobe还致力于Flex的开源4Adobe计划在2007年底将几乎整个Flex平台组件在Mozilla Public License下发布,包括以下部分:Flex编译器;Flex命令行调试工具;源代码查看工具;测试框架;Flex核心组件库(包括AIR组件);封装脚步;Flex-Ajax Bridge(将会改用MPL协议发布)。

目前,民间基于ActionScript3的开源项目数量飞速增长,涉及到各个方面,比如3D应用的Papervision3D、开源物理引擎类库APEFlex高级组件类库FlexLib,等等。http://www.osflash.orghttp://code.google.com/http://www.riaforge.org有诸多ActionScript3开源项目。著名的sf.net上也有一定数量。

1.2 ActionScript3的特色

ActionScript3由两个部分组成:核心语言和Flash Player API。核心语言定义编程语言的基本构建块,如语句、表达式、条件、循环和类型。Flash Player API是由代表Flash Player特定功能提供对Flash Player特定功能访问的类组成的。

因此,分两部分讲述ActionScript3的新特色。

1.2.1 核心语言新特色

ActionScript3核心语言与ECMAScript标准兼容,并引入了一些其他领域新的或更强的功能。所有这些功能在本书第2部分和第3部分中有专门论述。以下是部分新功能的摘要介绍。

1.       运行时异常(Runtime Exception)处理机制

ActionScript2及之前版本中,许多运行时错误都是静默失败(SilentFailure

这样做,虽然有些时候可以确保Flash Player继续运行,用户不被打扰。但是,这样做的后果是缺少错误反馈。当发生运行时异常的时候,还可以提供使用含有批注的堆栈跟踪,批注中包含源文件和行信号,帮助开发人员快速找出错误,及时得到反馈,改进了调试效率,并利用处理机制使应用程序更加健壮(Robust)。

2.       运行时类型(Runtime Types

ActionScript2中,类型检查只停留在编译阶段;在运行时,所有值的类型都

是动态指定的,并没有类型信息。也就是说,ActionScript2的类型检查并没有运行时支持。在ActionScript3中,类型信息在运行时仍然保留,有很多实际用途。Flash Player 9支持运行时类型检查,增强了系统的类型安全性。类型信息还可用于以本机形式表示变量(native machine representation),从而提高了性能并减少内存使用量。

3.       密封类(Sealed Classes

ActionScript2中在运行时所有的对象都可以动态添加属性和方法。ActionScript3

支持密封类的概念。密封类只拥有在编译时定义的固定属性和方法集,无法在运行

时添加其他属性和方法。密封类对象实例没有内部哈希表,从而提高内存使用效率和访问性能。密封类的支持使得更加严格的编译时检查成为可能,从而帮助开发人员写出更加可靠的程序。动态类也可能通过使用动态关键词dyanmic得到。

4.       闭包方法(Method Closure

这是针对ActionScript2及之前版本的改进,以前函数中this关键字无法记住自身指向的原始对象,给事件运用带来了不少困扰,只能使用mx.utils.Delegate类来解决。现在,ActionScript3使用闭包方法可以自动记起它的原始对象实例。此功能对于事件处理非常有用。

5.       使用E4X理论处理XML数据

ActionScript3完全支持先进的ECMAScript for XMLE4X)【参考文献2】。这使得XML就像ActionScript3语言的一种内建数据类型(native data type,而不是传统的XML解析APIE4X使得XML数据处理自然简单,成倍降低所需要的代码数量,显著提高了开发效率。

6.       正则表达式

ActionScript3实现了ECMAScript语言规范(ECMA-262)中定义的正则表达式,拥有强大的字符串处理功能。ActionScript3从内部支持(native support)正则表达式,帮助开发人员快速搜索和处理字符串。

7.       命名空间

ActionScript3中的命名空间是独有的一种访问控制机制,其概念不同于其他OOP语言中的定义,而是来源于XML语言中命名空间的概念。ActionScript3中所有访问控制说明符publicprivateinternalprotected,其本质都是通过内建命名空间实现的。用户也可以自定义命名空间,定义出不同的访问控制权限。

8.       新基元数据类型

           ActionScript2中数值类型只有一种双精度浮点类型——NumberActionScript3新增了int型和uint型整数数值类型。新整数类型的引入使ActionScript3可以更好地利用CPU的快速整数数学功能。

1.2.2 Flash Player API功能的新特色

Flash Player API是提供给ActionScript语言的一组类和函数,用于使用Flash Player的功能。通过这些类和函数,开发人员可以使用ActionScript3代码访问到Flash Player运行时(Runtime)的许多功能。Flash API对于核心语言是一个非常重要的补充。

Flash Player API的架构是全新的,并且更加直观。它包含了很多的新类,允许开发人员进行更低层的对象操作。本节不可能涵盖所有新增类,但将扼要介绍Flash API中新增的几个主要特色。

1.       DOM3事件模型

ActionScript2中已经初步应用了这个模型,ActionScript3中事件系统更加清晰、更加有效地模仿了W3C DOM3事件规范模型。该事件模型提供了生成和处理事件消息的一种标准方法,从而应用程序内的对象可以交互和通信,保持状态并对更改做出响应。

2.       显示列表API

这是ActionScript3对显示编程的重大更新。显示构架彻底改变,取而代之的是一个清晰、稳健、高效的视觉抽象结构。三大概念——显示对象、可交互对象、容器对象清晰划分了抽象层次。新的Spring类是一个轻型的容器,犹如去掉时间轴的MovieClip对象,更适合作为编程是所需要的基本容器。新的Shape类代表原始矢量图形。这些类可以使用新的操作符自然地进行实例化,并可以在任何时候动态地重定义父级。深度已经可以由显示列表API自动管理,不需手工分配了。另外,由于有了显示列表的概念,遍历了对象更加轻松简单。

除了这两个重大特色之外,文本显示的改进和二进制的支持也可以算是可圈可点的两个特色。文本显示由专门的flash.text包负责,新的动态文本类TextField中提供了更多的底层控制API,使完美能更加精确地控制文本。二进制的支持主要由ByteArray来实现,ByteArray对象实现了二进制数据的读取、写入和处理,从而使FlashAPI拥有更加强大的数据处理能力。

1.3 ActionScript3程序开发工具

开发ActionScript3程序的工具目前主要有Flash创作工具——Adobe Flash CS3MXML语言和ActionScript3相结合的IDE5 ——Adobe Flex Builder,以及Flex SDK。目前推出的AIR运行时程序,可以使用上述任何一种工具开发。

本书的所有代码示例都在Flash CS3Flex2Flex 3 Moxie Beta 1中编译通过。

1.3.1 Flash CS3

Flash CS3MacromediaAdobe合并后推出的第一款Flash创作工具,并入了Adobe Creative Suite中,称为Flash CS3Flash CS3是目前唯一可以创作基于ActionScript3SWF的创作工具。Flash 8 及之前的版本都不能创作基于ActionScript3SWF

     Flash CS3中有一套自己的Flash CS3组件,处于fl.*包,大部分位于fl.controls.*中,但是数量少、架构简单、功能不多,不适合开发常规的大型RIA程序。Flash CS3主要用于设计Flash美工、动画,以及利用类绑定来开发ActionScript3高级组件。

可以在以下地址下载Flash CS3的试用版本:http://www.adobe.com/go/tryflash_cn

1.3.2 Flex2Flex3Flex SDK

Flex技术是Adobe的又一得意之作。Flex技术允许开发者使用直观地基于XMLMXML语言来定义客户端应用程序。编译的程序可以在拥有Flash Player9版本的Flash Player运行时环境中运行。运用Flex技术可以在企业内部或在Web上创建并交付丰富互联网程序(RIA),是目前主流的RIA开发解决方案之一。

Flex框架是基于组件的开发框架,用于开发可由Flash Player运行的丰富互联网程序。Flex框架的类都包括在mx.*包中,种类丰富,功能齐全,尤其是组件框架的设计非常见功力。使用Flex开发RIA确实可以事半功倍。

MXML语言本质依然是构建于ActionScript3语言之上的,编译时会转换成相应的ActionScript3代码。MXML的标签就相当于ActionScript3的一个类。

可以使用Flex SDKFlex Bulider2Flex Builder 3 进行ActionScript3程序开发。

Flex SDK是免费的开发工具包,包含Flex类库、MXMLActionScript3编译器。

Flex Builder 2 Flex Builder 3 都是基于EclipseIDE,可以跨系统使用。

Flex Builder 2 Flex Builder 3 都是针对ActionScript3Flash Player 9平台的。Flex Builder 3Flex Builder 2 最大的不同在于,Flex Builder 3集成了对AIRAdobe Intergraded Runtime)的支持,可以直接开发AIR项目。Flex Builder 2 必须要通过下载一些扩展组件才可以开发AIR程序。

此外,Flex Builder 3中集成了Flex Component Kit for Flash CS3的一些核心类文件,使得和Flash CS3的协作更加方便。Flex Component Kit for Flash CS3可以单独下载并安装,也可以和Flex Builder2协作。

Flex SDKFlex Builder2试用版可在http://www.adobe.com/cn/products/flex/下载。

Flex Builder 3 beta版可以在http://labs.adobe.com/technologies/flex/下载。

1.4 *ActionScript3程序的编译流程

ActionScript3代码将被编译成Flash Player运行时可以理解的ActionScript bytecode(字节码),简称为ABC文件。但是ABC文件不可以单独运行,必须放入SWF.swf)文件中才可以被Flash Player执行。

SWF文件是Flash文件格式,它里面放着一堆可以被Flash Player所理解的标签,容纳着媒体资源(如图形、音频等)和ABC字节码。

Flash CS3工具使用的源文件后缀名是“.fla”,fla文件中包含元件库,里面有创作的图形、动画元件,以及嵌入的媒体资源等。fla文件中记录着元件里面的ActionScript3代码,以及要使用到的外部ActionScript3代码文件连接,在编译时将所有ActionScript3代码编译成ABC文件,并和用到的库元件一起编译成SWF文件。

如果是Flex Builder,且使用了MXML语言,那么Flex编译器(mxmlc)会先将MXML语言转换成相应的ActionScript3代码,再从ActionScript3代码编译成ABC字节码,最好放入其他嵌入的媒体资源,编译成SWF文件。

1.5 熟悉开发环境和第一个“Helloworld”例子

本节分Flash CS3Flex Builder两部分讲述。

为了节省本书篇幅,Flex Builder的安装不再赘述,请读者参看随书光盘的视频教程目录下的“FlexBuilder3安装.swf”。Flash CS3的安装非常简单,不予赘述。

另外,本书也不会放入大量界面截图来讲解操作,一方面有些操作过于简单,不必赘述,没有理由占用本书宝贵的篇幅;另一方面,使用图片加文字讲解界面操作,不如使用视频演示来得直观。本书随书光盘中视频教程目录下有本节相关的视频演示,既直观方便,又可满足不同层次读者需要,还不占用本书篇幅,一举多得。

1.5.1 Flash CS3中创建“Helloworld

Flash CS3中有两种写入ActionScript3代码的方法:一种是时间轴的关键帧中写入ActionScript3代码;一种是在外面写成单独的ActionScript3类文件再和Flash库元件进行绑定,或者直接和fla文件绑定。使用ActionScript3开发程序,并不推荐将代码写入到关键帧中,而应当尽量把代码从fla文件中分离出来,详细知识请参见23.1.3节“帧代码和类绑定的角色比较”。

读者对本节中描述的界面操作如有不清楚的地方,请观看随书视频教程目录下的“HelloWorld_FlashCS3.swf”文件,视频讲解更加直观。

1.       在时间轴中写入代码

先看第一种在时间轴中写入代码,产生“Helloworld”的效果。

打开Flash CS3,新建一个Flash文件(ActionScript3),这就是fla文件。建好后,单击主时间轴选中第一帧,按【F9】键弹出动作面板,在其中写入如下ActionScript3代码:

     trace (“Hello,world”);

trace()是最常见的函数之一,它的功能是将括号的内容从输出面板(Output Panel)中输出。输出面板可以按【F2】键随时打开或关闭。

按【Ctrl+Enter】组合键,测试影片,此时开始编译fla文件,并运行生产的.swf文件。读者可以看到一个新弹出的Flash Player窗口和一个输出面板,面板中写着“Helloworld”。

我们的第一个Flash Player程序成功了。

2.       文档类新特色:和fla文件绑定

ActionScript3有一个新的特色,那就是可以将外部的ActionScript3类文件和fla文件绑定,编译时将SWF看成是这个类的一个实例。不了解“类是什么”的读者,可以暂时想象成,在编译时,Flash CS3自动将这个类文件包含的ActionScript3代码写在了主时间轴上。虽然这个比喻有很大的毛病,但可以暂时帮你理解绑定的含义。关于文档类和类绑定的详细知识,可以参看第23章“Flash CS3:库元件的类绑定与Stage、文档类”。

与其他语言对比

对于其他语言的读者来说,也用一个不太恰当的比方来帮助理解;文档类就好比一个程序执行入口(Entry),它的构造函数就相当于main函数。

下面,打开Flash CS3,新建一个Flash文件(ActionScript3),即fla文件,存为First.fla

新建一个ActionScript文件,存为HelloWorld.as,和first.fla放在同一个目录中。在HelloWorld.as中写入以下代码(见示例1-1):

示例1-1 第一个ActionScript3文档类:Helloworld

 

 

第1篇ActionScript3.0语言基础 第1章ActionScript3.0概述 2 1.1ActionScript概述 2 1.1.1ActionScript环境 2 1.1.2ActionScript3.0特性 3 1.1.3ActionScript3.0代码组织 5 1.2ActionScript3.0API概览 5 1.3小结 8 第2章搭建ActionScript3.0开发环境 9 2.1搭建基于FlashCS3IDE的开发环境 9 2.1.1安装FlashCS3ID 9 2.1.2安装FlashCS3IDEupdate9.0.2 11 2.1.3FlashCS3IDE下创建ActionScript3.0项目 11 2.2搭建基于Flex开发环境 13 2.2.1安装FlexBuilder3 13 2.2.2在FlexBuilder3下创建ActionScript3.0项目 15 2.3服务端部署 16 2.3.1安装JDK 16 2.3.2安装Tomcat服务器 18 2.3.3Tomcat集成RED5服务器 20 2.4安装VisualBasic6.0 22 2.5小结 233ActionScript3.0语法 24 3.1变量 24 3.1.1变量声明 24 3.1.2变量赋值 25 3.1.3变量的生存周期 26 3.2基本数据类型 27 3.2.1Object类型 28 3.2.2int类型 28 3.2.3uint类型 29 3.2.4Number类型 30 3.2.5Boolean类型 32 3.2.6String类型 33 3.2.7Null类型 34 3.2.8void类型和*类型 34 3.3动态数据类型检查 35 3.4变量的类型转换 37 3.5ActionScript3.0语法 38 3.5.1大小写敏感 38 3.5.2字面量 38 3.5.3分号 39 3.5.4点号 39 3.5.5括号 39 3.5.6常量 40 3.5.7注释 41 3.5.8关键字保留字 41 3.6操作符 42 3.6.1ActionScript3.0的运算规则 42 3.6.2初始化操作符 43 3.6.3数学操作符 43 3.6.4位运算符 45 3.6.5赋值操作符 47 3.6.6关系操作符 47 3.6.7逻辑操作符 48 3.6.8条件操作符 49 3.6.9E4X操作符 49 3.7条件语句 50 3.7.1if…else语句 50 3.7.2switch语句 53 3.8循环语句 55 3.8.1while语句 55 3.8.2do…while语句 56 3.8.3for语句 56 3.8.4for…in语句 57 3.8.5foreach…in语句 58 3.8.6breakcontinue 59 3.9函数 60 3.9.1函数的基本概念 60 3.9.2函数定义调用 60 3.9.3函数的参数 63 3.9.4函数的返回值 66 3.9.5函数对象 66 3.9.6函数的生存周期 67 3.9.7递归函数 68 3.9.8全局函数 69 3.10小结 72 第2篇ActionScript3.0面向对象特性 第4章ActionScript3.0面向对象编程 74 4.1面向对象编程 74 4.1.1对象的世界 74 4.1.2具体抽象 75 4.2类 75 4.2.1类的定义 76 4.2.2类的属性 78 4.2.3类的方法 80 4.2.4对象成员静态成员 83 4.2.5this关键字 84 4.2.6动态类 85 4.3接口 86 4.3.1接口定义 86 4.3.2接口实现 87 4.3.3接口应用 87 4.4继承 89 4.4.1实现继承 89 4.4.2对象成员的继承 90 4.4.3静态成员继承 93 4.5包 94 4.5.1创建包 94 4.5.2类路径 95 4.5.3使用包 98 4.6订单利润计算示例 99 4.6.1需求分析 99 4.6.2编写代码 100 4.7小结 103 第5章ActionScript3.0中的String对象 104 5.1创建String对象 104 5.2字符串处理 105 5.2.1字符处理 105 5.2.2字符串比较 107 5.2.3裁割连接 108 5.2.4查找、匹配替换 110 5.2.5提取子串 112 5.2.6大小写转换 113 5.2.7空白处理 114 5.3制作文字移动效果 115 5.4小结 116 第6章ActionScript3.0中的Array类型 117 6.1索引数组 117 6.1.1创建索引数组 117 6.1.2数组元素的语句遍历 118 6.1.3数组元素的函数遍历 120 6.1.4元素处理 123 6.1.5数组复制 126 6.1.6查找匹配 127 6.1.7数组排序 128 6.1.8数组字符串 131 6.2关联数组 131 6.2.1Object类实现的关联数组 132 6.2.2Dictionary类实现的关联数组 132 6.3多维数组 133 6.4太阳系行星排序示例 135 6.5小结 138 第7章ActionScript3.0中的日期和时间 139 7.1日期时间 139 7.1.1创建日期对象 139 7.1.2日期对象的属性方法 140 7.1.3日期格式化 143 7.2时间间隔 144 7.2.1使用Timer类 144 7.2.2秒表示例 146 7.3小结 149 第8章ActionScript3.0异常处理 150 8.1ActionScript3.0异常 150 8.1.1异常概述 150 8.1.2异常分类 150 8.2ActionScript3.0调试方法 152 8.2.1FlashPlayer的调试版本 152 8.2.2在FlashCS3IDE中调试 152 8.2.3FlexBuilder3中进行调试 155 8.3处理ActionScript3.0中的异常 160 8.3.1使用try…catch…finally语句 160 8.3.2throw语句主动抛出异常 162 8.3.3处理异常事件 163 8.4异常类型 163 8.4.1异常对象 164 8.4.2异常分类 164 8.4.3自定义异常类型 166 8.5小结 167 第3ActionScript3.0可视化编程 第9章可视化编程基础 170 9.1可视化编程模型 170 9.1.1可视化编程概述 170 9.1.2可视对象 172 9.1.3可视对象列表 175 9.1.4可视对象管理函数 181 9.2文档类绑定和元件类绑定 194 9.2.1Flash文档类绑定 195 9.2.2元件类绑定 196 9.3小结 198 第10章对象交互事件???199 10.1ActionScript3.0事件模型 199 10.1.1事件流 200 10.1.2事件侦听器 204 10.2事件对象 208 10.2.1事件类型基类Event 208 10.2.2鼠标事件类型MouseEvent 211 10.2.3键盘事件KeyboardEvent 213 10.2.4文本事件类TextEvent 214 10.2.5焦点事件FocusEvent 214 10.2.6计时器事件TimerEvent 216 10.2.7HTTP状态事件HTTPStatusEvent 216 10.2.8网络状态事件NetStatusEvent 216 10.2.9进度事件ProgressEvent 217 10.2.10异步异常事件ErrorEvent、IOErrorEvent、SecurityErrorEvent 218 10.2.11全屏事件FullScreenEvent 219 10.3虚拟键盘示例 220 10.4小结 224 .第11章ActionScript3.0可视对象 225 11.1可视对象类DisplayObject 225 11.1.1可视对象列表 225 11.1.2位置、尺寸、透明度可见性 227 11.1.3缩放旋转 228 11.1.4坐标体系 231 11.1.5背景色 232 11.1.6区域范围 233 11.1.7色彩调整 235 11.1.8遮罩 236 11.1.9位图缓存 237 11.1.10混合模式 238 11.2舞台对象Stage 239 11.2.1图像品质帧频 239 11.2.2缩放对齐 240 11.2.3焦点控制 242 11.2.4交互控制 242 11.2.5全屏?刂?243 11.3容器对象Sprite 245 11.3.1按钮模式 245 11.3.2热区 246 11.3.3对象拖放 247 11.4影片剪辑MovieClip 248 11.5加载器Loader 251 11.6按钮对象SimpleButton 254 11.7文本框TextField 255 11.7.1文本类型 255 11.7.2外观控制 256 11.7.3设置文本 256 11.7.4处理HTML 258 11.7.5输入限制 260 11.7.6文本格式化 260 11.7.7多行模式 262 11.7.8适应滚动 263 11.7.9选区 264 11.7.10字体嵌入 265 11.7.11事件处理 268 11.8小结 269 第4篇ActionScript3.0数据处理 第12章数字类型数学运算 272 12.1数字类型概述 272 12.2Math类 273 12.2.1角度弧度 273 12.2.2Math常量 273 12.2.3最大值、最小值绝对值 274 12.2.4数值舍入随机函数 274 12.2.5幂运算开方运算 275 12.2.6对数函数 276 12.2.7坐标弧度 276 12.2.8三角函数 277 12.3求解一元二次方程示例 278 12.4小结 279 第13章XML应用基础 280 13.1了解XML 280 13.2处理XML数据 283 13.2.1初始化XML对象 283 13.2.2访问遍历 285 13.3XML对象 288 13.3.1XML对象的数据处理方式 288 13.3.2处理子节点 289 13.3.3访问XML数据 293 13.3.4处理命名空间 294 13.4网络图片加载器示例 295 13.5小结 298 第14章正则表达式字符串匹配 299 14.1正则表达式概述 299 14.2正则表达式语法 300 14.2.1创建对象 300 14.2.2字符、元字符元序列 301 14.2.3字符集 306 14.2.4组 307 14.3标记、属性方法 310 14.3.1正则表达式的标记属性 310 14.3.2正则表达式的方法 314 14.4小结 315 第5篇ActionScript3.0图形编程 第15章ActionScript3.0中的几何对象 318 15.1Point对象 318 15.1.1创建Point对象 318 15.1.2距离计算 319 15.1.3中间点 319 15.1.4极坐标转换 319 15.1.5坐标计算 320 15.1.6坐标缩放 320 15.2矩形对象 321 15.2.1创建Rectangle对象 321 15.2.2确定矩形位置 321 15.2.3调整矩形 322 15.2.4位置关系判定 324 15.3矩阵对象 325 15.3.1初始化Matrix对象 326 15.3.2矩阵应用 327 15.4小结 328 第16章ActionScript3.0图形绘制 329 16.1绘制矢量图形 329 16.1.1位图矢量图 329 16.1.2绘制矢量图 330 16.2使用线条 330 16.2.1设置线条样式 331 16.2.2直线曲线 332 16.3使用填充 334 16.3.1单一色填充 335 16.3.2渐变色填充 336 16.3.3位图填充 337 16.4图形绘制函数 338 16.4.1内置图形绘制函数 338 16.4.2绘制三角形 340 16.4.3绘制正多边形 340 16.5白板示例 341 16.6小结 345 第17章ActionScript3.0运动编程 346 17.1运动编程原理 346 17.1.1物体移动 346 17.1.2坐标计算 348 17.2简单物理引擎 352 17.2.1运动的物理原理 352 17.2.2创建物理引擎 354 17.2.3匀速直线运动 363 17.2.4匀加速运动 364 17.2.5圆周运动 365 17.2.6卫星绕地运动 366 17.3小结 368 第18章位图处理 369 18.1位图对象 369 18.1.1位图格式 369 18.1.2位图图像位图数据 370 18.1.3创建位图对象 370 18.1.4载入位图对象 371 18.2处理位图数据 371 18.2.1位图复制 372 18.2.2像素处理 376 18.2.3位图填充 378 18.2.4生成噪点 379 18.2.5图像滚动 381 18.2.6色彩调整 382 18.2.7阀值处理 383 18.2.8图像混合 384 18.3位图画板示例 386 18.4小结 392 第19章ActionScript3.0滤镜 393 19.1使用滤镜 393 19.1.1滤镜原理 393 19.1.2对可视对象应用滤镜 394 19.1.3对位图数据应用滤镜 395 19.2投影滤镜DropShadowFilter 396 19.3发光滤镜GlowFilter 398 19.4渐变发光滤镜GradientGlowFilter 399 19.5模糊滤镜BlurFilter 401 19.6斜角滤镜BevelFilter 403 19.7渐变斜角滤镜GradientBevelFilter 404 19.8色彩矩阵滤镜ColorMatrixFilter 406 19.9矩阵盘绕滤镜ConvolutionFilter 408 19.10置换滤镜DisplacementMapFilter 410 19.11滤镜切换的相册示例 412 19.12小结 415 第6篇ActionScript3.0多媒体编程 第20章音频编程 418 20.1音频概述 418 20.2播放声音 418 20.2.1音频嵌入 419 20.2.2音频载入 420 20.2.3流式音频 422 20.3播放控制 424 20.3.1缓冲控制 424 20.3.2回放控制 424 20.3.3音效控制 425 20.4MP3播放器 425 20.5使用麦克风 434 20.5.1获取麦克风 434 20.5.2回环模式 435 20.5.3静音设置 436 20.6录制音频到RED5服务器 436 20.7小结 442 第21章视频编程 443 21.1FLV视频 443 21.1.1视频概述 443 21.1.2视频转换 444 21.2播放视频 445 21.2.1视频嵌入 445 21.2.2组件播放 446 21.2.3视频载入 447 21.2.4流式视频 449 21.3播放控制 450 21.3.1缓冲控制 450 21.3.2回放控制 451 21.3.3视频音效 453 21.4视频播放器示例 453 21.4.1视频载入播放器 453 21.4.2视频流播放器 461 21.5使用摄像头 467 21.5.1获取摄像头 467 21.5.2模式设置 468 21.5.3本地回放 469 21.5.4运动检测 469 21.5.5图像质量 469 21.5.6视频录制 470 21.6录制视频到RED5服务器 471 21.7小结 477 第7篇ActionScript3.0数据通信 第22章本地通信 480 22.1本地连接LocalConnection 480 22.1.1使用本地连接 480 22.1.2异域调用 481 22.1.3应用授权示例 482 22.2本地数据存储 486 22.2.1使用SharedObject本地存储 486 22.2.2用户登录示例 487 22.3小结 491 第23章网络通信 492 23.1处理外部数据 492 23.1.1请求参数 492 23.1.2简单数据发送 493 23.1.3数据发送载入 494 23.1.4图片载入示例 497 23.2远程数据共享 499 23.2.1使用远程共享 499 23.2.2绘图共享示例 500 23.3FlashRemoting调用远程方法 503 23.3.1调用远程方法 503 23.3.2远程调用示例 505 23.4套接字通信 506 23.4.1使用套接字通信 506 23.4.2套接字通信示例 508 23.5文件上传下载 512 23.5.1文件上传 512 23.5.2文件下载 515 23.5.3文件上传下载示例 515 23.6小结 520 第8篇深入FlashPlayer 第24章FlashPlayer的客户端系统 522 24.1系统类System 522 24.1.1设置编码 522 24.1.2内存使用 522 24.1.3播放器控制 523 24.1.4剪贴板 523 24.1.5System类功能示例 524 24.2获取系统信息 526 24.2.1使用Capabilities类 527 24.2.2本地机器特性检测示例 528 24.3输入法编辑器IME控制 530 24.3.1使用IME 530 24.3.2IME控制示例 532 24.4fscommand()函数 535 24.4.1使用fscommand()函数 535 24.4.2fscommad()函数示例 537 24.5小结 539 第25章FlashPlayer的安全特性 540 25.1安全性概述 540 25.1.1权限管控模型 540 25.1.2安全沙箱模型 541 25.2系统管理员管控 543 25.2.1使用mms.cfg配置文件 543 25.2.2全局信任目录管控 548 25.3用户管控 548 25.3.1使用FlashPlayer设置对话框 549 22.3.2使用全局设置管理器 550 25.3.3用户受信任目录 553 25.4FlashPlayer许可控制 554 25.4.1内容载入许可 554 25.4.2交叉域跨脚本访问许可 555 25.4.3宿主程序中的安全许可 556 25.4.4全屏模式安全许可 557 25.4.5本地连接安全许可 557 25.5交叉域安全示例 558 25.5.1创建测试的SWF 558 25.5.2跨脚本访问测试 562 25.5.3文本载入测试 563 25.6小结 564 第26章FlashPlayer宿主程序 565 26.1使用外部接口ExternalInterface类 565 26.1.1ExternalInterface类 565 26.1.2ActionScriptJavaScript交互 566 26.1.3ActionScript桌面程序交互 567 26.2网页脚本交互示例 568 26.3桌面应用交互示例 571 26.4小结 573 第27章ActionScript打印控制 574 27.1使用打印作业对象 574 27.1.1创建启动打印作业 574 27.1.2设置打印内容 575 27.1.3打印调整 576 27.2打印示例 577 27.3小结 582 第9篇FlashAIR入门 第28章创建部署AIR应用 584 28.1AdobeAIR运行时安装配置 584 28.2使用FlashCS3IDE创建和部署AIR应用 585 28.2.1安装FlashCS3IDEupdate9.0.3 585 28.2.2创建和部署AIR应用 585 28.3使用FlexBuilder3创建和部署AIR应用 588 28.4AIR应用配置文件 591 28.4.1应用程序配置 591 28.4.2初始化窗口设置 595 28.4.3图标设置 595 28.4.4关联文??柚?596 28.5小结 597 第29章AIR部分特性介绍 598 29.1AIR本地窗口 598 29.1.1创建关闭本地窗口 598 29.1.2添加窗体内容 600 29.1.3位置尺寸 600 29.1.4窗口层叠控制 602 29.1.5本地窗口控制示例 602 29.2访问文件系统 612 29.2.1目录文件引用 612 29.2.2目录文件浏览 614 29.2.3目录文件属性 615 29.2.4快速载入保存 616 29.2.5目录文件管理 617 29.2.6目录文件管理示例 620 29.2.7文件内容读写 626 29.2.8文件内容读写示例 629 29.3访问数据库 632 29.3.1使用数据库连接 632 29.3.2建立数据表 634 29.3.3插入数据 635 29.3.4设置SQL语句参数 636 29.3.5查询数据 636 29.3.6用户注册登录示例 637 29.4小结 642 第10篇实战篇 第30章AdobeAIR应用——本地播放器 644 30.1分析设计 644 30.1.1功能分析 644 30.1.2界面设计 645 30.1.3模块设置 647 30.2建立项目 649 30.3创建新组件 650 30.3.1创建滚动容器组件 650 30.3.2创建复选框组件 653 30.3.3创建缓冲播放控制条 655 30.4创建播放器工具类 656 30.4.1创建数据库工具类 656 30.4.2创建字符串?ぞ呃?658 30.5创建数据模块 659 30.5.1创建MediaFile类 659 30.5.2创建MediaFileList类 662 30.6创建播放器事件类 665 30.7创建播放器内核 666 30.7.1创建IMediaPlayerCore接口 667 30.7.2创建播放器内核基类 667 30.7.3创建MP3播放内核 671 30.7.4创建FLV播放内核 675 30.8创建播放器界面 680 30.8.1创建MediaFileItemUI类 680 30.8.2创建MediaFileListUI类 682 30.8.3创建播放列表管理器类 684 30.8.4创建播放控制面板类 686 30.8.5创建视频部件 689 30.8.6创建播放器整体部件 691 30.9测试主程序 696 30.10小结 697 第31章AsWing应用——聊天室程序 698 31.1分析设计 698 31.1.1功能分析 698 31.1.2界面设计 699 31.1.3AsWing简介 700 31.2部署服务端 700 31.3创建客户端项目 704 31.4创建聊天室界面 706 31.4.1创建登录窗口 706 31.4.2创建用户聊天界面 711 31.5创建聊天室通信控制组件 715 31.5.1定义DataEvent事件类 715 31.5.2添加IServerApi接口 716 31.5.3定义HTTPWeb应用通信控制类 716 31.5.4定义RTMP通信控制类 719 31.6测试主程序 722 31.7小结 723
actionScript 3.0开发人员指南中文版,总共67章,955页。学习actionScript不错的书籍。 目录: 目录 第章:使用日期和时间 管理日历日期和时间 控制时间间隔 日期和时间示例:简单模拟时钟 第章:使用字符串 字符串基础知识 创建字符串 length属性 处理字符串中的字符 比较字符串 获取其他对象的字符串表示形式 连接字符串 在字符串中查找子字符串和模式 转换字符串的大小写 字符串示例:ASCII图表 第章:使用数组 数组基础知识 索引数组 关联数组 多维数组 克隆数组 扩展Array类 数组示例:播放列表 第章:处理错误 错误处理基础知识 错误类型 ActionScript中的错误处理 使用Flash运行时的调试版 在应用程序中处理同步错误 创建自定义错误类 响应错误事件和状态 比较错误类 处理错误示例:CustomErrors应用程序 第章:使用正则表达式 正则表达式基础知识 正则表达式语法 对字符串使用正则表达式的方法 正则表达式示例:Wiki解析程序 第章:使用XML XML基础知识 用于处理XML的EX方法 XML对象 XMLList对象 初始化XML变量 组合和变换XML对象 遍历XML结构 使用XML命名空间 XML类型转换 读取外部XML文档 在ActionScript中使用XML的示例:从Internet加载RSS数据 第章:使用本机JSON功能 JSONAPI概述 定义自定义JSON行为 第章:处理事件 事件处理基础知识 ActionScript事件处理早期版本事件处理的不同之处 事件流 事件对象 事件侦听器 事件处理示例:闹钟 第章:使用应用程序域 第章:显示编程 显示编程的基础知识 核心显示类 显示列表方法的优点 使用显示对象 处理显示对象 对象动画 舞台方向 动态加载显示内容 显示对象示例:SpriteArranger 第章:使用几何结构 几何结构基础知识 使用Point对象 使用Rectangle对象 使用Matrix对象 几何形状示例:对显示对象应用矩阵转换 第章:使用绘图API 绘制API的基础 Graphics类 绘制线条和曲线 使用内置方法绘制形状 创建渐变线条和填充 将Math类绘制方法配合使用 使用绘图API进行动画处理 绘制API示例:算法可视化生成器 绘图API高级用法 第章:使用位图 位图使用基本知识 Bitmap和BitmapData类 处理像素 复制位图数据 使用杂点功能制作纹理 滚动位图 利用mipmap处理 位图示例:带动画效果的旋转的月亮 位图图像的异步解码 第章:过滤显示对象 过滤显示对象的基础知识 创建和应用滤镜 可用的显示滤镜 筛选显示对象示例:FilterWorkbench 第章:使用PixelBender着色器 PixelBender着色器基础知识 加载或嵌入着色器 访问着色器元数据 指定着色器输入和参数值 使用着色器 第章:使用影片剪辑 影片剪辑基础知识 使用MovieClip对象 控制影片剪辑播放 使用ActionScript创建MovieClip对象 加载外部SWF文件 影片剪辑示例:RuntimeAssetsExplorer 第章:使用补间动画 补间动画基础知识 在Flash中复制补间动画脚本 合并补间动画脚本 描述动画 添加滤镜 将补间动画其显示对象关联 第章:使用反向运动 反向运动的基础知识 IK骨架动画处理概述 获取有关IK骨架的信息 实例化IKMover并限制其移动 移动IK骨架 使用弹簧 使用IK事件 第章:在三维(D)环境中工作 D显示对象的基础知识 了解FlashPlayer和AIR运行时中的D显示对象 创建和移动D显示对象 将D对象投影到D视图上 示例:透视投影 执行复杂的D转换 通过三角形获得D效果 第章:文本使用基础知识 第章:使用TextField类 显示文本 选择和操作文本 捕获文本输入 限制文本输入 设置文本格式 高级文本呈现 使用静态文本 TextField示例:报纸风格的文本格式设置 第章:使用Flash文本引擎 创建和显示文本 处理FTE中的事件 设置文本格式 使用字体 控制文本 Flash文本引擎示例:新闻版面布局 第章:使用TextLayoutFramework TextLayoutFramework概述 使用TextLayoutFramework 使用TLF构建文本结构 使用TLF设置文本格式 使用TLF导入和导出文本 使用TLF管理文本容器 使用TLF启用文本选择、编辑和撤消 使用TLF处理事件 在文本内定位图像 第章:处理声音 声音处理基础知识 了解声音体系结构 加载外部声音文件 处理嵌入的声音 处理声音流文件 处理动态生成的音频 播放声音 加载和播放声音时的安全注意事项 控制音量和声相 处理声音元数据 访问原始声音数据 捕获声音输入 声音示例:PodcastPlayer 第章:使用视频 视频基础知识 了解视频格式 了解Video类 加载视频文件 控制视频播放 在全屏模式下播放视频 流式传输视频文件 了解提示点 编写元数据和提示点的回调方法 使用提示点和元数据 监控NetStream活动 视频文件的高级主题 视频示例:视频自动唱片点唱机 使用StageVideo类来实现硬件加速呈现 第章:使用摄像头 了解Camera类 在屏幕上显示摄像头内容 设计摄像头应用程序 连接至用户的摄像头 验证是否已安装摄像头 检测摄像头的访问权限 最优化摄像头视频品质 监控摄像头状态 第章:使用数字权限管理 了解受保护的内容工作流程 NetStream类中DRM相关的成员和事件 使用DRMStatusEvent类 使用DRMAuthenticateEvent类 使用DRMErrorEvent类 使用DRMManager类 使用DRMContentData类 更新FlashPlayer以支持FlashAccess 带外许可证 域支持 使用域支持播放加密的内容 许可证预览 提交内容 OpenSourceMediaFramework 第章:在AIR中添加PDF内容 检测PDF功能 加载PDF内容 编写PDF内容的脚本 对AIR中的PDF内容的已知限制 第章:用户交互的基础知识 捕获用户输入 管理焦点 了解输入类型 第章:键盘输入 捕获键盘输入 使用IME类 虚拟键盘 第章:鼠标输入 捕获鼠标输入 鼠标输入示例:WordSearch 第章:触摸、多点触控和手势输入 触摸输入的基础知识 触摸支持发现 Touch事件处理 触摸和拖动 Gesture事件处理 疑难解答 第章:复制和粘贴 复制粘贴基础知识 读取和写入系统剪贴板 AIR中的HTML复制和粘贴 剪贴板数据格式 第章:加速器输入 检查加速计支持 检测加速计更改 第章:AIR中的拖放 AIR中拖放的基础知识 支持拖出手势 支持拖入手势 HTML中的拖放 将数据拖出HTML元素 将数据拖入HTML元素 示例:覆盖默认的HTML拖入行为 在非应用程序HTML沙箱中处理文件放置 放置文件释放 第章:使用菜单 菜单基础知识 创建本机菜单(AIR) 关于HTML中的上下文菜单(AIR) 显示弹出本机菜单(AIR) 处理菜单事件 本机菜单示例:窗口和应用程序菜单(AIR) 第章:AIR中的任务栏图标 关于任务栏图标 停靠栏图标 系统任务栏图标 Window任务栏图标和按钮 第章:使用文件系统 使用FileReference类 使用AIR文件系统API 第章:存储本地数据 共享对象 加密的本地存储区 第章:在AIR中使用本地SQL数据库 关于本地SQL数据库 创建和修改数据库 操作SQL数据库数据 使用同步和异步数据库操作 对SQL数据库使用加密 使用SQL数据库的策略 第章:使用字节数组 读取并写入ByteArray ByteArray示例:读取zip文件 第章:网络和通信基础知识 网络接口 网络连接更改 域名系统(DNS)记录 第章:套接字 TCP套接字 UDP套接字(AIR) IPv地址 第章:HTTP通信 加载外部数据 Web服务请求 在其他应用程序中打开URL 第章:其他FlashPlayer和AIR实例通信 关于LocalConnection类 在两个应用程序之间发送消息 连接到不同域中的内容和AIR应用程序 第章:AIR中的本机进程通信 本机进程通信概述 启动和关闭本机进程 本机进程通信 本机进程通信的安全性注意事项 第章:使用外部API 使用外部API的基础知识 外部API要求和优点 使用ExternalInterface类 外部API示例:在ActionScript和Web浏览器中的JavaScript之间进行通信 第章:AIR中的XML签名验证 XML签名验证的基础知识 关于XML签名 实现IURIDereferencer接口 第章:客户端系统环境 客户端系统环境基础知识 使用System类 使用Capabilities类 功能示例:检测系统功能 第章:AIR应用程序的调用和终止 应用程序调用 捕获命令行参数 用户登录时调用AIR应用程序 从浏览器调用AIR应用程序 应用程序终止 第章:处理AIR运行时和操作系统信息 管理文件关联 获取运行时版本和修补级别 检测AIR功能 跟踪用户当前状态 第章:使用AIR本机窗口 AIR中的本机窗口的基础知识 创建窗口 管理窗口 侦听窗口事件 显示全屏窗口 第章:AIR中的显示屏幕 AIR中的显示屏幕的基础知识 枚举屏幕 第章:打印 打印基础知识 打印页面 Flash运行时任务和系统打印 设置大小、缩放和方向 高级打印技术 打印示例:多页面打印 打印示例:缩放、裁剪和响应 打印示例:页面设置和打印选项 第章:Geolocation 检测geolocation更改 第章:应用程序国际化 应用程序国际化基础知识 flashglobalization包概述 确定区域设置 设置数字格式 设置货币值格式 设置日期和时间格式 排序和比较字符串 大小写转换 示例:国际化股票报价应用程序 第章:本地化应用程序 选择区域设置 本地化Flex内容 本地化Flash内容 本地化AIR应用程序 对日期、时间和货币进行本地化 第章:关于HTML环境 HTML环境概述 AIR和WebKit 第章:在AIR中进行HTML和JavaScript编程 关于HTMLLoader类 避免安全相关的JavaScript错误 通过JavaScript访问AIRAPI类 关于AIR中的URL 使ActionScript对象可用于JavaScriptActionScript访问HTMLDOM和JavaScript对象 在HTML中嵌入SWF内容 在HTML页中使用ActionScript库 转换Date和RegExp对象 从ActionScript操作HTML样式表 跨脚本访问不同安全沙箱中的内容 第章:为AIRHTML容器编写脚本 HTMLLoader对象的显示属性 滚动HTML内容 访问HTML历史记录列表 设置在加载HTML内容时使用的用户代理 设置用于HTML内容的字符编码 为HTML内容定义类似于浏览器的用户界面 创建HTMLLoader类的子类 第章:处理AIR中HTML相关的事件 HTMLLoader事件 使用ActionScript处理DOM事件 响应未捕获的JavaScript异常 使用JavaScript处理运行时事件 第章:在移动应用程序中显示HTML内容 StageWebView对象 内容 导航事件 历史记录 焦点 位图捕获 第章:安全性 FlashPlatform安全概述 安全沙箱 权限控制 限制网络API 全屏模式安全性 加载内容 跨脚本访问 作为数据访问加载的媒体 加载数据 从导入到安全域的SWF文件加载嵌入内容 使用旧内容 设置LocalConnection权限 控制外出URL访问 共享对象 摄像头、麦克风、剪贴板、鼠标和键盘访问 AIR安全性 第章:如何使用ActionScript示例 示例类型 在FlashProfessional中运行ActionScript示例 在FlashBuilder中运行ActionScript示例 在移动设备上运行ActionScript示例 第章:本地数据库中的SQL支持 支持的SQL语法 数据类型支持 第章:SQL错误详细消息、ID和参数 第章:Adobe图形汇编语言(AGAL) AGAL字节码格式
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值