天天看點

前言 FLASH的前世、今生、來世

FLASH的前世

FLASH的前身叫做FutureSplash!

當時FutureSplash最大的兩個使用者是Microsoft和Disney。 

1996年11月,FutureSplash正式賣給MM(Macromedia.com),改名為FLASH1.0 (網上也有資訊稱是Flash2.0)

前言 FLASH的前世、今生、來世

一切是這樣開始的 

喬納森.蓋伊在孩童的時候就沉迷于建築設計,經常幻想自己成為一個偉大的建築師,整日坐在桌前為設計一間小屋而寫寫畫畫。不久,喬納森.蓋伊就不滿足于紙上談兵的設計了,按照自己的設計,他在自家房後蓋起了真正的小屋和汽車棚。為了設計油漆房間,他弄了一台蘋果電腦,使用古老的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的快速發展 

微軟的介入讓業界對于新誕生的 Flash 軟體(以及搭配使用的 Shockwave Flash 外挂程式)投以高度關注。自此以後,這個軟體所帶來的重大變革以及與其搭配的程式語言 ActionScript 便吸引了許多忠實的開發者。

關于Flash2.0的相關資訊我暫時還沒有找到,有相當大一部份的Internet資訊稱FutureSplash在被收購後直稱更名為Flash2.0。但還不确定。

1998年5月31日 Macromedia 推出了Flash3.0

1999年6月15日 Macromedia 推出了Flash4.0

自 Flash 進入4.0 版以後,原本的 Shockwave 播放器便變成了僅供 Director 使用。Flash 4.0開始有了自己專用的播放器,稱為“Flash Player”,不過為了保持向下相容性,Flash 制作出的動畫則仍舊沿用了原有的 .SWF檔案名(Shockwave Flash)。

2000年68月24日 Macromedia 推出了Flash5.0 (支援的播放器為 Flash Player 5) 

Flash 5.0中的ActionScript已有了長足的進步,并且開始了對XML和Smart Clip(智能影片剪輯)的支援。ActionScript的文法已經開始定位為發展成一種完整的面向對象的語言,并且遵循ECMAScript的标準(就像JavaScript那樣)。

2002年3月15日 Macromedia 推出了Flash MX (也就是測試版中的6.0,後來為了配合MX産品線,正式命名為MX,支援的播放器為 Flash Player 6) 

falsh6開始了對外部jpg和MP3的調入支援。同時也增加了更多的内建對象( 如直接的繪畫控制)。提供了對HTML文本的更精确控制。SetInterval 超頻幀的概念。同時也改進了swf檔案的壓縮技術。 

2003年8月25日 Macromedia 推出了Flash MX 2004(支援用 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的發展時間線:

FutureSplash Animator (1996-4-10) - Flash的前身,由簡單的工具和時間線組成 

Macromedia Flash 1 (1996-11) - Macromedia給FutureSplash Animator更名後為Flash的第一個版本 

Macromedia Flash 2 (1997-6) - 引入庫的概念 

Macromedia Flash 3 (1998-5-31) - 影片剪輯,Javascript插件,透明度和獨立播放器 

Macromedia Flash 4 (1999-6-15) - 變量,文本輸入框,增強的Actionscript,流媒體MP3 

Macromedia Flash 5 (2000-8-24) - Javascript, 智能剪輯, HTML文本格式 

Macromedia Flash MX (2002-3-15) - Unicode,元件,XML,流媒體視訊編碼 

Macromedia Flash MX 2004 (2003-9-10) - 文本抗鋸齒,Actionscript 2.0,增強的流媒體視訊,行為 

Macromedia Flash MX 2004 Pro (2003-9-10) - 包括所有Flash MX 2004的特性,加上Web Services, ActionScript 2.0的面向對象程式設計,媒體播放元件 

Macromedia Flash 8 (2005-9-13) 

Macromedia Flash 8 Pro (2005-9-13) 增強為移動裝置開發的功能,友善建立Flash Web,增強的網絡視訊 

Adobe Flash CS (2006) 

Adobe Flash Pro CS (2006)

FLASH的今生

Flash CS3 Professional 是什麼? 

Adobe? Flash? CS3 Professional 軟體是用于為數位、Web 和移動平台建立豐富的互動式内容的最進階創作環境。建立互動式網站、豐富媒體廣告、指導性媒體、引人入勝的示範和遊戲等等。依靠 Flash CS3 和 Adobe Flash Player 軟體來確定您的内容可以觸及盡可能最廣泛的閱聽人。Flash CS3與Adobe其他産品的結合的非常緊密,這将給使用Flash工作帶來極大便利。

Flash CS3擁有以下新增功能:

1.與Photoshop結合更加緊密,PSD檔案可以按原有分層直接導入到Flash CS3 中。 

另外,Flash CS3還可以保留layer特效,比如dropshadow ,glow, blur等,并可以繼續編輯。

時間軸特效都可以轉成類似于MXML格式了,可以直接讓flex2和AS3使用了。

2.與IIustrator整合更加完善。

IIustrator的ai檔案,可以完美支援了。之前對ai類型的檔案導入和使用一直是個很頭痛的事情。

3.可以将時間軸Motion特效,直接拷貝為AS3 代碼。 

看來Motion 特效也入場會為成為新的潮流。

4.新的工作面闆布局。

統一成Adobe那種特有的CS的面闆布局。縮放更加簡單。而且還有Photoshop CS3特有的單列面闆布局。

5.新的繪圖工具。

會給在Flash 中繪圖帶來一些友善。但對于習慣在其他矢量圖中繪圖的人員,很熟悉這種繪備方式。

6.新的更加好的調試器。

FLASH的來世

那麼,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的支援會讓你更加得心應手。