分类:Flash

来自Blueidea
跳转至: 导航搜索

FLASH的前身叫做FutureSplash,当时FutureSplash最大的两个用户是Microsoft和Disney。 1996年11月,FutureSplash正式卖给MM(Macromedia.com),改名为FLASH1.0 (网上也有信息称是Flash2.0)

一切是这样开始的

乔纳森.盖伊在孩童的时候就沉迷于建筑设计,经常幻想自己成为一个伟大的建筑师,整日坐在桌前为设计一间小屋而写写画画。不久,乔纳森.盖伊就不满足于纸上谈兵的设计了,按照自己的设计,他在自家房后盖起了真正的小屋和汽车棚。为了设计油漆房间,他弄了一台苹果电脑,使用古老的BASIC编程。一天,他对着电脑屏幕发起了呆。脑中有一个火花在闪现:“如果通过程序设计,电脑能把人的设计思维以图像等形式表现出来,模拟结果和不断改进,而且还能按照自己的设计在电脑上显示,该多有意义!”产生了这个念头之后,乔纳森.盖伊就开始他的人生里程。

神奇的游戏小子

这并不是一闪而过的念头,乔纳森.盖伊马上就投入研究,为了探索计算机是如何按自己的设计来运行,他选中了游戏。第一个游戏是模仿“外星人入侵”,而且在这台苹果机上用BASIC程序来重新实现。这时候的他还只是个初中生,每天放了学他经常就把自己关在屋子里,开始了游戏研究。最后,他终于成功了!但是乔纳森.盖伊在制作过程中发现BASIC有很多局限性,就毫不吝惜地他扔掉了功能弱小的BASIC语言,转向了高级语言Pascal。这时候,他有了制作图像编辑器的想法。

进入高中,乔纳森.盖伊的程序设计能力就有了很大的提高。他自己制作了图像编辑器,并且参加了学校的科技成果展览。在参加科技成果展览会的时候,他很幸运地接触到了当时最先进的个人计算机Macintosh,当他看到这个计算机,就爱不释手了,梦想自己也能有一台这样的电脑。在学校科技展览中,乔纳森.盖伊和父亲偶然去参加了一个Macintosh用户聚会,自豪的父亲不断地向人们夸耀儿子的参展作品。面对这个会编游戏的神奇小子,会议的组织者, Silicon Beach Software公司的查理.杰克逊产生了很大的兴趣。查理拍着乔纳森.盖伊的肩膀半开玩笑地说:“小神童,我们来做个交易吧!你来帮我的公司做Macintosh软件,产品销售出去再付给你钱,怎么样?” 乔纳森.盖伊眼睛里顿时放出光彩,心想:这老板是怎么想的,我只是个高中生而已,不过,这样就有机会用价值1万美元的Macintosh计算机了。就这样,他们开始合作了。

后来的日子里,乔纳森.盖伊写出了第一个Macintosh下具有同步的声音和平滑图像的游戏-空降兵,并立即成为当时的畅销游戏软件。不久,他制作的第二个游戏-黑暗城堡也问世了。在游戏编写过程中,乔纳森.盖伊积累了大量关于声音、动画及他们之间如何同步的技术和经验,都为后来Flash的出炉打下了坚实的基础。

互联网带来的机遇

在游戏软件之后,他开始了新一代绘图软件的设想:采用C++面向对象的框架,能运行在Macintosh和Windows操作系统中。这个想法产生了矢量绘图软件Intellidraw。这个软件独一无二的特点是能给图形中的对象赋予各种行为,使图形开始变得富有生命力了。

1993年,他成立了自己的公司FutureWave Software,致力于图像的研究。1994年1月,乔纳森.盖伊决定将绘图软件转移到矢量绘图上。根据用户的意见,他又投向动画软件的制作。这样,他曾经积累的游戏制作经验就能完全派上用场。

1995年正是互联网的Web应用蓬勃兴起的时期,这时候人们已经在单台计算机上实现了声音和动画。但是,互联网上,尤其是Web上,人们对图像和动画的需求逐渐变得强烈。乔纳森.盖伊认为是公司施展才能的时候了。于是,动画播放的第一方案就问世了。然而。他所采用是当时成熟的Java嵌入式播放器,由于Java速度太慢,动画效果并不令人十分满意,乔纳森.盖伊继就再一次投入对FutureWave Software开发和研究,试图找到一个更方便的动画制作。最后,Netscape浏览器采用了FutureWave效率较好的plug-in API播放方案。在这个动画软件SmartSketch Animator正式发行的时候,这时乔纳森.盖伊又动起了脑筋:SmartSketch这个名字实在没有什么商业价值,新名字应该重在动画,而不是绘图。于是,就把名字改做CelAnimator。又经过长期的深思熟虑后,正式定名为FutureSplash Animator。这也就是现在Flash真正的前身了。

六个人的小公司和并购事件

由于资金的问题,1995年末,乔纳森.盖伊希望寻找多方面的合作,以更好地发展FutureSplash Animator这个很有前景的产品。为了更好地吸引投资,1996年夏季,FutureSplash Animator正式发行了。八月份,IT巨头Microsoft在发展MSN项目时看中了这个能在Internet和Modem上传送动画的小软件。微软网路(The Microsoft Network, MSN)使用 FutureSplash 公司的 Animator 软体设计了一个介面与广告全萤幕动画来模拟电视。在当时那个大部分网站连 JPG 与 GIF 图片都甚少使用的时代,这无疑是一项只能在小说里面才看得见的创举。这个只有6个职员的小公司产品的被微软这么大的公司所采用,对他们小公司来说将是一次重大转折,这有效地加速了FutureSplash Animator在互联网Web动画方向上领导地位的确立,并且促进它进一步的发展。

第二个大客户当属迪斯尼了。迪斯尼使用FutureSplash Animator建设Disney online网站,达到了在任何带宽条件下较好的互动和动画效果,而在当时强烈建议迪斯尼使用Shockwave( Director播放器)的是Macromedia。

当时Macromedia推出了Shockwave作为将Director电影应用于互联网的渠道。只要用户点击含有Shockwave的网页就可以看到Director电影。但是由于Director不是为互联网设计的,所以Director最精彩的电影往往由于占用带宽过大而不能在互联网中播放。

1996年11月Macromedia实在坐不住了,它认为这是块大蛋糕,合作是势在必行的事情。于是,找到乔纳森.盖伊商谈合作事宜。最终,Macromedia将50万美元投资到乔纳森.盖伊经营4年的FutureWave Software公司。乔纳森.盖伊对此非常满意,并且认为他的“宝贝孩子”FutureSplash Animator将在更良好的成长环境下与更多的对手充分地竞争。

于是同期,也就是1996年11月,Macromedia收购了FutureWave公司,将FutureSplash Animator重新命名为Macromedia Flash 1.0。

事实上这个并购事件件后来引起了一些传言,说如果 Macromedia 并购了FutureSplash 公司,那么微软就会将 Macromedia 公司给并吞下来。微软后来粉碎了这项传言。该公司放弃了模拟电视节目介面的设计策略,并且把 MSN 网站回归到朴素的文字介面。(不过有趣的是:有消息称,微软将会在不久推出新一代动画制作工具“Sparkle”,某些人认为,这一工具推出后将会很快取代Macromedia 公司的Flash的地位,成为“Flash 杀手”。 )

(呵呵,有点意思,微软看起来更像是在抄袭Flash,从Office 2003 System中的OneNote中已可窥见一斑。这差不多是微软的一贯风格了。不过个人认为即使微软成功的抄袭了Flash,以其独特的垄断市场策略不可能将“Sparkle”扩展到非"Window”平台中,这也意味着没人会再喜欢这个“Sparkle”,当然,除了那些微软的忠实程序员,设计师是不太可能的。 微软的程序员静候LongHorn和“Sparkle”的佳音吧。事实上,很多在LongHorn的界面技术在flash中实现早已不是问题)


乔纳森.盖伊可能自己都没有想到,经过几年的发展,Flash会有如此火暴的今天。

Macromedia收购FutureSplash原本是为了完善其看家产品Director的,但在互联网上推出Flash(Flash3.0)后,获得了空前的成功。于是将Flash和Director进行重新定位。Flash被应用于互联网。并在其中逐渐加入了Director的一些先进功能。

现在,Flash已经被Adobe公司购买,最新版本为:Adobe Flash CS3

Flash的快速发展

微软的介入让业界对于新诞生的 Flash 软体(以及搭配使用的 Shockwave Flash 外挂程式)投以高度关注。自此以后,这个软体所带来的重大变革以及与其搭配的程式语言 ActionScript 便吸引了许多忠实的开发者。

FutureSplash Animator (1995) - Flash的前身,由简单的工具和时间线组成 ;

Flash 1 (1996-11) - Macromedia给FutureSplash Animator更名后为Flash的第一个版本 ;

Flash 2 (1997-6) - 引入库的概念 ;

Flash 3 (1998-5-31) - 影片剪辑,Javascript插件,透明度和独立播放器 ;

Flash 4 (1999-6-15) - 变量,文本输入框,增强的Actionscript,流媒体MP3 ;自 Flash 进入4.0 版以后,原本的 Shockwave 播放器便变成了仅供 Director 使用。Flash 4.0开始有了自己专用的播放器,称为“Flash Player”,不过为了保持向下相容性,Flash 制作出的动画则仍旧沿用了原有的 .SWF文件名(Shockwave Flash)。

Flash 5 (2000-8-24) - Javascript, 智能剪辑, HTML文本格式 ;Flash 5.0中的ActionScript已有了长足的进步,并且开始了对XML和Smart Clip(智能影片剪辑)的支持。ActionScript的语法已经开始定位为发展成一种完整的面向对象的语言,并且遵循ECMAScript的标准(就像JavaScript那样)。

Flash MX (2002-3-15) - (也就是测试版中的6.0,后来为了配合MX产品线,正式命名为MX,支持的播放器为 Flash Player 6)Unicode,组件,XML,流媒体视频编码 ; Flash6开始了对外部jpg和MP3的调入支持。同时也增加了更多的内建对象( 如直接的绘画控制)。提供了对HTML文本的更精确控制。SetInterval 超频帧的概念。同时也改进了swf文件的压缩技术。

Flash MX 2004 (2003-9-10) - (支持用 Flash MX 2004创建的SWF的播放器的版本被命名为 Flash Player 7) Flash MX 2004增加了许多新的功能: 对移动设备和手机、Pocket PC的支持(以及像素字体的清晰显示); Flash Player 运行时性能提高了 2 至 5 倍; 对HTML文本中内嵌图像和swf(swf中的独立swf)的支持; FLV外部视频的支持(与QuickTime的集成); 对Adobe PDF及其它文档的支持; 基于屏幕的可视开发环境; 可视编程环境; 高级可控制外观组件支持; 数据绑定; Web 服务和 XML 的预建数据连接器; 项目管理功能; 源代码控制系统; 等 同时开始了对Flash本身制作软件的控制和插件开放JSFL(Macromedia Flash JavaScript API),Macromedia无疑在开始调动Internet上Flasher们的巨大力量和集体智慧。

Flash MX 2004 Pro (2003-9-10) - 包括所有Flash MX 2004的特性,加上Web Services, ActionScript 2.0的面向对象编程,媒体播放组件 ;

Flash 8 (2005-9-13) ;

Flash 8 Pro (2005-9-13) 增强为移动设备开发的功能,方便创建Flash Web,增强的网络视频 。

Flash CS3(2007-4-20)Adobe推出了FLASH CS3。

增加功能: FlashCS3增加了导出QuickTime视频的功能。这种方式可以精确地将Flash电影导出,包括嵌套的影片剪辑、ActionScript产生的内容以及其他运行时的效果,例如投影、模糊等特效。

Adobe设备中心CS3已包含在FlashC S3之中,借助于内置的设备模板和不断更新的设备参数文件,可以大大简化移动内容的创建过程。现在用户可以方便地设计、预览以及测试移动内容,例如交互的 Flash Lite应用程序和丰富的用户界面。

使用内置的ActionScript 3.0 用户界面和视频组件,可以大大提升内容的开发,节省宝贵的时间,包括按钮、滚动条、滑块等等。新增的可以编辑的属性使得用户可以方便地定制组件的外观,从而适应不同项目的需求。

使用Adobe Flash Video编码器传送广播级质量的在线视频。在编码选项中,包括了许多高级选项,例如去除交错,导入导出线索点等等。以及一组非常漂亮的视频组件模板,为用户对播放视频的外观提供了详细的控制。


Flash可能的发展方向

flash被称为是“最为灵活的前台”。由于其独特和时间片段分割(TimeLine)和重组(MC嵌套)技术,结合ActionScitp的对象和流程控制。使得在灵活的界面设计和动画设计中成为可能,但一直还未形成一套在flash中的界面设计理论。同时它也是最为小巧的前台。

flash具有跨平台的特性(这点和Java一样),所以无论你处于处于何种平台,只要你安装有支持的flash Player。你就能保证它们的最终显示效果都一致。而不必像在以前的网页设计中那样为IE和Mozilla或NetSpace各设计一个版本。同Java一样。它的可移植性很强。特别是在小型网络中和小型设备中(当然大型网络已不用说),最近具有的手机支持功能可以让你为自已的手机设计你喜爱的功能。当然你必需要有技持flash的手机。当然它还可以应用于Pocket PC上。

到2003年11月20日止直接支持播放flash的手机和Pocket PC列表:

ET180 (legend 联想)(手机 & Pocket PC) iPAQ 1910 (hp 惠普) (Pocket PC) iPAQ 5440 (hp 惠普) (Pocket PC) Nokia 3650 (Nokia 诺基亚) (手机) Nokia 7650 (Nokia 诺基亚) (手机) Nokia 9200 (Nokia 诺基亚) (手机) NTT DoCoMo Fujitsu 505i (日本 NTT DoCoMo 移动通信运营公司 & Fujitsu 富士通)(手机) NTT DoCoMo Mitsubishi 505i (日本 NTT DoCoMo 移动通信运营公司 & Mitsubishi 三菱)(手机) NTT DoCoMo NEC 505i (日本 NTT DoCoMo 移动通信运营公司 & NEC 日本电气)(手机) NTT DoCoMo Panasonic 505i (日本 NTT DoCoMo 移动通信运营公司 & Panasonic 松下)(手机) NTT DoCoMo Sharp 505i (日本 NTT DoCoMo 移动通信运营公司 & Sharp 夏普)(手机) NTT DoCoMo Sony 505i (日本 NTT DoCoMo 移动通信运营公司 & Sony 索尼)(手机) Sony CLIE NX70 (Sony 索尼) (Pocket PC) Sony CLIE NZ90 (Sony 索尼) (Pocket PC) Sony CLIE UX50 (Sony 索尼) (Pocket PC) Motorola A920 (Motorola 摩托罗拉) (手机) Sanyo SCP-5500 (Sanyo 三洋) (手机) Samsung SGH-e700 (Samsung 三星) (手机) Hisen C3698 (Hisen 海信) (手机) Nokia 9210i (Nokia 诺基亚) (手机) Dopod 515 (Dopod 多普达) (手机)


官方的驱动下载地址:


那么,flash可能的发展方向究竟如何? 我不能说这些方向中的所有都会实现,因为这也取决于Macromedia的决心,而更多的是flasher们的努力。

1、应用程序:由于其独特的跨平台物性和在界面控制以及多媒体的功能使用得使用flash来制作的应用程序具有很强的生命力。在与用户的交流方面具有其它任何方式都无可比拟的优势。当然,某些功能你可能还要依赖于XML或者其它诸如JavaScript的客户端技术来实现,但你能方便在它们的实现数据通信。

它所面临的问题: 没有经验,事实上,很少有人具有运用flash进行应用程序开发这方面的经验。但这个难度会随着时间的推移而逐步减弱。事实上,对于你的大型项目而言。使用flash此时未免有些言之过早,因为它意味着很大的风险。当然,在最早的时间掌握和积累这方面的经验无疑是一种很大的竞争力,这对于而言是一种很大的诱惑。代替可能的风险,你可以只将它运用在项目中的一小部份或者小型项目中。并且注意你的用户反馈意见。

代码和类的管理,

2、操作系统界面:Flash对于界面元素的可控性和它所有表达的效果无疑具有很大的诱惑。对于一个系统的界面你可能要花更多的时间关注它们的接口和界面显示能力间的驱动。另外一个需要关注的就是你的内存使用和执行效率。

3、手机领域的开发:转向手机领域的开发将会要求你对精确(像素级)的界面设计和CPU的使用分布的操控能力更高。但也意味更大更广泛的使用空间。事实上手机和Pocket PC的分界已越来越不明显,你必须为每一款手机(或Pocket PC)设计一个不同的界面,因为它们的屏幕大小各有不同。当然你的内核可能是相同的,所要注意的是你的各类手机的CPU的计算能力和内存的大小。这无疑是些很苛刻的要求。

4、游戏开发:事实上,Flash中的游戏开发已经进行了多年的尝试。但至今为止仍然停留在中、小型游戏的开发上。游戏开发的很大一部份都受限于它的CPU能力和大量代码的管理。不过可喜的是,Flash Player 7 运行时性能提高了 2 至 5 倍;而且基于 Java 类的结构的类的开始也奠定了这些基础。

5、Web应用服务:很难界定Web应用服务的范围究竟有多大。似乎它拥有无限的可能。随着网络的逐渐渗透,基于客户端-服务器的应用设计也开始逐渐受到欢迎,并且一度被誉为最具前景的方式。这种方式你可能要花更多的时间在服务器的后台处理能力和架构上,并且将它们与前台(Flash端)保持同步。

6、站点建设:事实上,现在只有极少数人掌握了使用Flash建立全flash站点的技术。因为它意味着更高的界面维护能力和你的整站的架构能力。但它带来的好处也异常明显:全面的控制;无缝的导向跳转;更丰富的媒体内容;更体贴用户的流畅交互;以及跨平台和小巧客户端的支持以及与你的其它flash应用方案的无缝连接集成。 当然,你需要在培养自已能力所花的精力和你的未来之间做个选择。

7、多媒体娱乐:在这方面的内容我想我已不用再多说什么。尽管它的发展速度没有像当初预言的那样迅速(就像计算机那样),但它仍然还在不断前进,全新功能也正在扩大它的应用范围。使用这一点无疑很优秀,并且可以为你节约大量的成本。Flash本身就以多媒体和可交互性而广为推崇。它所带来亲切氛围相信你的每一位用户都会喜欢。


8、教学系统:要在教学系统应用Flash现有的技术无疑会极大增强学生的主动性和积极发明的能力。在这方面涵盖的内容,可能所有现有技术你都可以用上了。根据你教学内容的不同你可能会选择不同的部份。


以下列出了一些细致的部份:


压缩技术的开发: 是将数据以特定的格式存储在哪一端这的确有点难以得出结论。如果我向你传递了一个“1”的信息,它代表着一个包含很多信息(如10万字)的信号。而这些信息在你那边已经拥有了,你只需要将这些与“1“相对应翻出来就行(解压)。而如果你没有它。那么我不得不向你传送这10万字的信息,当如果这种情况发生在多次,你很快就能明白它的含义了。就像在现实生活中你向你的好伙伴眨眼示意那样。这需要“心有灵犀一点通”,而在这当中,这就是压缩/解压方案。


基于安全封闭网络的视频会议开发:这很有趣,至少和MSN中的视频会议比起来。2003年的最佳应用程序向你展示了这种可能性: http://www.2intro.com/ ,同时还有 http://www.userplane.com/ 站点。和MSN中的视频会议中的便于使用比起来,你能在这里找到更多的乐趣和自主能力。


在线娱乐系统:在线娱乐显而易见的要求你有更多更好的作品。如果没有,即使你的系统规划得多么完整或者优秀你也只能将它卖给别人了。我只是要告诉你你也应该花些时间在你的可供观赏的作品的选择和制作上以及和你的游览者打成一片。至于系统的细节。我想一群优秀的flasher和后台人员会解决它。你所遇到的问题几乎是基于Web服务方面的问题。

MP3及MTV点播系统:我不知道是应该谁最先开始这方面的努力,事实上,这篇教程中的大部份就是在向你讲解关于这方面的知识。我所要告诉你的是:如果你想要一个跨平台的系统,那么就需要付出更多的努力。(当然,如果只是在计算机上,这并不难)

生物技术的模拟:很多人都在这方面尝试努力着。在网上你也可以找到很多的相关资源。对于这方面的内容更重要是的你的其它学科(如数学、生物学、物理学...)的内容,你只是在flash中模拟它们并提供双向的交互能力。以下是其中的一些试验站点:

人工智能(AI)  http://aimovie.warnerbros.com/

人体肌体运动模拟  http://www.bml.psy.ruhr-uni-bochum.de/Demos/BMLwalker.html

levitated(拥有众多的开放源代码,其中也包括对生物运动和自然形态过程的模拟)  http://www.levitated.net/

uncontrol(同样不错的站点)  http://www.uncontrol.com/

仿真及虚拟视觉:仿真的3D世界可能在现在这个时候你要付出更加艰辛的努力,因为Flash中对3D的引擎支持得不多。需要你自已更多的数学计算思维和你的空间想像。基于红-蓝双眼模拟可能会让你更容易些,不过这需要3D眼镜的支持。站点 http://www.abstractdevice.com/ 很好的演示了这一其中的一部份。

你的BBS论坛系统:事实上大部份使用在这方面功能的flasher都选择了像以前的HTML的样式那样建立他们的全Flash论坛系统。但也并意味你必须跟从他们。可能他们这样做是出于技术和习惯上的考虑,这差不多只不过将HTML翻了一个版而已。它们丢失了太多的Flash中激动人心的地方。当然,创造意味着从你自已开始。相信在Flash Player7中对CSS和HTML文本部份内嵌图像和swf的支持会让你更加得心应手。


当然,还远不止这些,你所想要的项目应该由你自已来发现和挖掘。你可以到网上查找到更多的相关信息和功能。Macromedia中国的站点也很值得一看:http://www.macromedia.com/cn/

子分类

本分类有以下3个子分类,共有3个子分类。