当前时间:Sunday 2016年12月04日 欢迎访问 夜阑小雨 我的学习碎片档案,这里记录了我的学习内容和工作中经验,希望给您带去帮助。

当前位置: 首页 >> javascript >> 正文

好书推荐《Flash ActionScript X开发入门》

真正的软件应用在于领略其“魂”,而非觊觎其“表”。

——请记住这句话

      从本质上来说,所有的动画都是由一帧一帧的图像组成的,Flash动画也不例外。但为何Flash动画能够迅速的普及开来呢?这有两个方面的原因:

     一方面是其文档格式非常优秀,最主要的是另一方面:其创作软件简单易用。

      多年来,尽管Flash创作软件经历了由创作动画平台向软件开发平台的过渡,但是其创作动画的基本功能未有改变,还是那三个主要功能(绘画、Tween动画、遮罩特效),依旧是简单易用。

     如果你能将Flash动画创作的这三个基本功都能熟练的运用,并逻辑的结合在一起,那么可以预见,你将会是一个不折不扣的Flash动画创作者。你完全可以在24小时内达到这一目标,实际上,我想不出来有什么理由能够阻止你。

      在[《Flash 8中文版动画制作入门–简体中文版》(1、2、3)或者《FLASH 8动画实务讲座–传统中文版》(1、2、3、4、5)]这本书中,你可以看到,Flash的这三大设计功能被逻辑而有效的分隔开来,并且他们又是如此的被紧密的结合在一起。

     当然,正如所有的Flash用户都会向您建议的那样,您必须在随后的学习中多看多练,主要的目的是用来增强你的美感和使作品更具表现力,闪吧蓝色理想MMUGRIACN等网站是您应该经常光顾的地方,从这里,您不但可以看到国内外一流的作品,也可以得到一流的创作素材和体验。

     正如您看到的那样,这本书是以Flash Professional 8中文版为创作软件而撰写的。Flash Professional 8具有许多全新功能,例如:惊人的滤镜特效、全新的视频编码技术、对alpha通道的支持、高质量的文本渲染和高级缓动控制、增强的文本工具、改良的ActionScript脚本编写等。

     全书贯穿多达70个范例,也许范例是最具说服力的,让我们来挑选几个颇具特点的范例来看一看吧。

     1、这是使用滤镜创建的两个效果,只需简单的几个步骤,你就可以实现:

    使用滤镜创建的水晶字 使用滤镜创建的翡翠字

     2、使用Flash8自定义缓动功能,你可以很轻松的完成过去做起来很麻烦的缓动功能:

    自定义缓动功能

     3、使用Flash的三大基本功能中的绘画工具,您可以很轻松的创建惊人的效果,而不是使用手绘来完成,你应该掌握它:

    绘画工具的综合运用

     4、下面的两个案例演示了如何使用补间动画,你应该掌握它:

    沿路径的补间动画
复合的补间动画

     5、下面两个应该是经典的案例了,演示了遮罩是如何实现的,你应该掌握它:

    水波纹文字
火焰在文字体内燃烧

     6、这一个是逐帧动画、补间动画、遮罩三者结合创建的动画效果,你应该掌握它:

    逐帧动画,可以通过手绘来完成
鸟儿飞过蓝天的动画效果

为正确的认识和学习Flash打下基础(二)

真正的软件应用在于领略其“魂”,而非觊觎其“表”。

——请记住这句话

     正如作者经常提到的那样,“正确的认知”是学好Flash应用的最坚定基础。

     本书的层次是十分鲜明的,它从杂乱无序的知识点中凝聚出严谨的逻辑。正如您看到的那样,共分为三篇,严格按照学习的逻辑过程安排:

    第一篇 入门基础篇 (第1~4章)
     介绍Flash Professional 8创作环境和动画基本原理,并结合实例介绍Flash动画创作的三大功能,使初学者能够很快掌握Flash创作动画的基本技能。

    第二篇 实战演练篇 (第5~6章)
     分为两个环节:通过实例的演练,帮助读者举一反三,加深对Flash动画创作实用功能的理解;通过实例的剖析,学会分析一些现成的实例。

    第三篇 进阶提高篇 (第7~13章)
     在熟练的掌握Flash动画创作的基本技能后,理应向更高的方向攀登,本书安排一个“进阶提高篇”就不难理解了。
     在这一部分,我们介绍了如何应用滤镜(这也是Flash Professional 8特有的功能)、如何使用第三方软件来实现3D动画效果和文字特效,如何添加声音、视频,以及基本的ActionScript脚本语言程序设计知识。在本书的最后,就像是你看到作者的其它图书那样,都会安排了一个综合使用各种技术的范例,通过该范例,您理应了解一个完整的Flash作品是如何实现的。

     本书是作者张亚飞一系列Flash图书中的基础入门篇,它为用户完整准确地把握整个Flash的知识体系打下坚定的基础,实践终将证明,这也有利于用户快速的掌握这一体系,而不是在黑夜中徘徊。

     还是那句老话,范例是最具说服力的,让我们再来看本书中几个典型的范例:

     1、使用第三方工具,您可以快速的创建文字特效Flash动画,而无须再使用Flash创作环境,实际上,现在很多这样的动画特效都是使用这些第三方软件完成的。

     大家都知道Flash创作环境现在还不支持3D,要创建Flash 3D动画必须依靠第三方的软件,本书介绍了比较常用的Xara3DSwift 3D:

    aaa bbb

     2、在介绍ActionScript脚本语言时,除了介绍基本的ActionScript脚本语言程序设计知识,我们使用了大量的范例,而且非常注意对比,这是两种使用不同的功能实现的相册浏览器:

    aaa bbb

     3、这是两个范例(验证用户名和密码验证邮件地址是否合法),由此用户可以学习基本的流程控制:

    aaa ccc

     4、这是一个有关利率计算的范例,用户由此可以学习基本的运算知识:

    aaa

     5、这是两个利用ActionScript脚本动态实现的动画效果(礼花缤纷雪花飘飘),从这里,用户不但可以学习一些算法知识,也可以学习影片剪辑的动态控制:

    aaa aaa

     6、使用Flash创建的网站导航菜单,这也是最常用到的功能:

    aaa

     7、动态地图,这个很常见,比较有代表性:

    aaa

     8、用户可能在一些网吧经常看到在桌面背景中有一个时钟,它可以使您一目了然的看到现在的时间,甚至还有其它的动态信息,这个案例就通过怎样创建时钟,并将其置于桌面背景中,从而使您一目了然的清楚其原理:

    aaa

     9、从摄像头捕捉视频,这是最基本的视频应用,您可以将其应用在很多领域,例如实时交流,幻灯片等:

    aaa

     如果想了解更多使用实时视频的内容请参考《Java for Flash动态网站开发手札with FMS》(简体中文版繁体中文版

     10、综合应用的范例,通过该范例,您理应了解一个完整的Flash作品是如何实现的:

    aaa

为什么要使用Flash编写程序

真正的软件应用在于领略其“魂”,而非觊觎其“表”。

——请记住这句话

     Flash之所以在网络上日益盛行,在于它有不可比拟的优点。它可以制作出用于浏览时的导航控制、制作动画图标、带同步声音的大段动画,创建出生动的、富于表现力的网页。Flash中的图形都是矢量的,占据存储空间较少,因而下载时间短,且能很好地适应浏览者不同尺寸的屏幕。

     Flash中影片的创建可先通过自己绘制或者导入相关的图片,将它们适当地安排在“舞台(Stage)”上,通过在它们各自的“时间轴(timeline)”上进行设置使它们“动”起来,让它们对特定事件做出反应或按特定的方式变化而产生互动效果。完成的影片可作为Flash播放器文件输出,可嵌入到HTML网页中,并一同被传到Web服务器中,这样,用户就可以通过浏览器浏览Flash影片(*.SWF)了。

     上面我们谈到了Flash文件的优点,这些都是相对于网络传输和制作过程而言的(这些都是“陈词滥调”了),对于使用Flash开发交互式应用程序,其优点也是不言而喻的。

    跨平台跨设备

    如同Java一样,Flash文件同样具备了一次开发,可以跨平台跨设备随意浏览的特性,这就是基于虚拟机应用程序的最大优点,也是Flash的一个优点。

无论是在Windows、Mac、Linux、Unix还是在Symbian操作系统上,也不论您是在桌面PC上还是在掌上电脑或是移动电话上,Flash文件都能发挥它最大的特点。并且无论是在Windows还是在Mac上完成开发,并不会影响Flash文件在那里播放,只要用户正确的安装了Flash Player。

     有了Flash Player,您就可以实现一次开发,跨平台跨设备随意浏览了。

    终端设备正在不断的异化,虚拟机已是大势所趋

     同时,也应当注意到,终端设备正在不断的异化。可以浏览Internet的各类设备正在成几何倍数地增长,如今移动电话、智能电话、个人数字助理(PDA)、交互式电视系统或电话亭,甚至某些家用电器也能做到。为了能够在不断异化的终端设备上形成一致的浏览体验,也为了不断地降低创作成本,人们都已经认识到,虚拟机已是大势所趋,它正在不断成为人们关注的目标。

    基于富媒体的用户界面(UI)

     有整本整本的书论述用户界面(UI)这一主题,但是,关于每一个应用程序的界面应该是什么样子却找不到正确的“答案”。也许不会有一个界面能够成为每个人心目中完美的界面,但是使用Flash创建的富媒体应用程序,您就能帮助尽可能多的用户最大限度地获益于您的应用程序。

     集成了矢量图形、位图、音频和视频,并且非常轻松创作的极富人性化的动画和游戏,使您的应用程序能够为取悦大多数用户并最终获得成功。

     这就是为什么开发人员称Flash应用程序为“富Internet应用程序”,简称RIA。

    关于ActionScript脚本语言

     ActionScript脚本语言是Flash Player的交互语言,它有三种语言编写风格,这就是ActionScript 1.0、ActionScript 2.0和ActionScript 3.0(简称AS1、AS2和AS3)。

     三种语言风格都基于ECMA-262(欧洲计算机制造商协会)标准,但是版本不同。在这里要特别提醒用户的是:绝不可认为AS1 < AS2 < AS3。

完整、系统的把握Flash应用程序开发

真正的软件应用在于领略其“魂”,而非觊觎其“表”。

——请记住这句话

     很多年来,Flash的用户都有一个夙愿:那就是如何完整、系统的把握Flash应用程序开发的体系。

    《Flash ActionScript X》最终完成了用户这一夙愿。

     早在3年前,我提出了“Flash是基于时间轴的应用程序”知识体系。三年后的今天,这一知识体系已经非常丰富和完整,并成功地将其贯穿到Flash应用开发的全部过程。事实上,这也是目前我所知的“唯一”正确的主线。它如同巨大的磁石将全部的开发体验吸附到“时间轴”这个看起来如此浅显而又深刻的“现实”中来。

     时间轴的概念对于大多数应用程序开发环境而言是十分陌生的,首先,它看起来仅仅是设计人员感兴趣的事,或者是仅仅用于简单的动画。但是,您很快就会发现,时间轴是管理一个应用程序各种状态的方法,它实际上是一个无价之宝。它可以作为一个Wizard(向导),一个窗体界面,或者是一个智能按钮,可以根据当前的情况显示不同的外观,做出不同的反应。

     所有的影片剪辑也都有独立的时间轴,每个时间轴或者处于播放状态,或者处于停止状态。如果时间轴正在播放,它将一直下去,直到遇到一个stop()命令(一个例外的情况是该时间轴仅包含一帧)。

     Flash的设计人员总是使用时间轴来制作动态内容;然而,开发人员总是把影片剪辑的每个帧停下来,把每个帧用作不同的状态,甚至,Flash的开发人员在舞台上纯粹使用程序代码创建交互式的动态内容。

    理解“Flash是基于时间轴的应用程序”,才能从根本上解决开发过程中变量的作用域问题。任何应用程序开发中,变量的作用域都是最基本的、也是最重要的认知。

    理解“Flash是基于时间轴的应用程序”,才可能彻底将层和层级的关系理清,从而使得开发过程焕然一新。

    早在5年前,我提出Flash Player虚拟机概念;5年后的今天,MM提出AVM(ActionScript虚拟机)。所有的应用皆集于Flash Player,这是每一个Flash的开发人员都应该理解的。

     这本书并不是范例的罗列,也绝非帮助系统的“抄袭”,我们要做的是告诉用户该怎样做,以及为什么这样做。

本文摘自 张亚飞所著 《Flash ActionScript X 开发入门》 一书

要首先澄清的事实

真正的软件应用在于领略其“魂”,而非觊觎其“表”。

——请记住这句话

     用户要学习Flash开发,首先接触到的是ActionScript。在应用ActionScript编程之前,首先要明确的是:要获得正确的ActionScript认知,还是要获取错误的认知?没有正确的认知就没有正确的Flash开发,这一点不难理解。

     过去,ActionScript有两种语言编写风格,这就是AS1和AS2。前者遵循ECMA-262第3版所制定的规范,后者遵循ECMA-262第4版制定的规范,但它们的实现只有一种,即Flash Player VM(MM称为AVM1)。

     现在,ActionScript有了第三种语言编写风格(ActionScript 3.0),而它的实现也增加了一种,这就是AVM2(ActionScript虚拟机第二版),虽然它也内嵌于Flash Player当中,但它与前一个ActionScript实现已有根本不同。

     要认识AVM版本间的不同,最好的方法是与微软CLR做一个对比。主要就是在“实现”上的区别,因为微软CLR是通用语言运行时,它并没有为特定的语言编写风格(C#.NET、JS.NET或者VB.NET)专门定义一个实现。

     AVM也与Mozilla的JavaScript实现不同,因为Mozilla有两种JavaScript实现:但一种实现使用C完成(也就是众所周知的SpiderMonkey),另一种实现使用Java完成(也就是众所周知的Rhino)。它们实现的是同一种语言。

     这也表明Flash Player将最终作为一个AVM引擎来对待(我个人看法,仅供参考)。

     AS2中的面向对象编程(OOP)功能是基于当前正由ECMA TC39-TG1开发的ECMAScript 4草案建议开发的。由于ECMA-4建议尚未成为一个标准,并且仍然在不断更改,AS2并不严格遵循此规范。

    AS3(同样遵循ECMA-262第3版),应该是对AS1的完善,这一完善是十分必要的,有必要解除开发人员对ActionScript的误解:AS2是对AS1的增强——这种看法是完全的错误。但也要提醒用户注意的是,AS3不会取代AS1。

     MM的意图是很明显的,它将使Flash Player成为像.NET那样的CLR,各种风格的开发人员都可以在自己熟悉的环境中编写代码,而在同一个容器中运行,并且可以协同工作。

    现在,Flash离这一目标越来越近……………….

     AS2和AS1最终被编译成相同的代码在同一个虚拟机内运行,而AS3保留了AS2的一些语法特点而增强了AS1,当它被编译成新的代码后在新的虚拟机内运行。

     不同的程序员应该选择自己熟悉的编程风格学习一种ActionScript,另外应该注意的是:ActionScript的版本仅是对创作环境而言,对于Flash Player运行时而言,ActionScript的版本无任何意义。

     在学习过程中,使用《附件C 关于ActionScript 1.0》和《附件D 关于ActionScript 3.0》是个不错的注意,您可以很快了解几种不同版本的ActionScript之间有何区别。

   范例是最有说服力的,滤镜是Flash 8新增的功能,用户不但可以使用AS2语法来完成,也可以使用AS1来完成。

    ActionScript 2.0代码:

    aaa

    ActionScript 1.0代码:

    bbb

本文摘自 张亚飞所著 《Flash ActionScript X 开发入门》 一书

作者:夜阑小雨
原文链接:好书推荐《Flash ActionScript X开发入门》
夜阑小雨版权所有,转载本网站文章时请保留此信息。

收藏和分享: 转贴到开心网 转贴到校内网 分享到 Twitter Delicious 分享到 Google Reader 分享到 百度收藏 分享到 QQ收藏

所在分类:javascript

评论信息

0 条评论 发表评论

发布评论

您必须登录才能发表评论。

网站客户端下载