發新話題

[分享] ActionScript 3.0 概要

ActionScript 3.0 概要


ActionScript 3.0 概要
雖然AS3.0吵的很大.但由於有關中文介紹的還並不多見,所以翻譯了這篇文章

由於英語水平和actionscript水平有限,也許有些錯誤之處,在此懇請斑主和大伙們指出,但同時也希望對大家有所用處.
ActionScript3.0概要:
ActionScript 3.0 演變成一門強大的面向對象的撰寫程式語言意味著flash平台的重大變革。這種變化也意味著 ActionScript 3.0 將創造性地將語言理想地迅速地建立出適應網絡的豐富應用程式, 成為豐富網絡應用(Rich Internet Application)項目的本質部分。比較早期的ActionScript版本就已經提供了這種要求為創造真實地參與線上體驗的力量和靈活性。ActionScript 3.0 將促進和發展這種性能, 提供發展強大表現和舒適的先進的高度複雜應用, 結合大型資料庫以及可移值性的面象對象的程式碼。擁有 ActionScript 3.0, 開發者可能達到高效執行效率和表現同一的平台。
ActionScript 3.0 基於ECMAScript, ECMAScript是所有撰寫程式語言的國際規範化的語言。ActionScript 3.0 同樣遵從ECMAScript語言規範。
ActionScript 由嵌入在flash player的ActionScript虛擬機 (AVM)執行。AVM1, 是執行以前版本的ActionScript的虛擬機, 今天變的更加強大的flash平台使得可能創造出互動式媒體和豐富的網絡應用。然而, AVM1卻在擠壓著開發者們的極限—— 他們的項目現在到了要求它變革的時刻了。ActionScript 3.0 帶來了一個更加高效的ActionScript 執行虛擬機—AVM2, 它將徹底的脫胎換骨於AVM1 。 它將意味著, ActionScript 3.0執行效率將比以前的ActionScript執行效率高出至少10倍。
新的AVM2 虛擬機將會嵌入於flash player8.5當中, 它將成為執行ActionScript的首先虛擬機。當然舊的AVM1將繼續嵌入在flash player8.5當中以兼容以前的ActionScript。
有眾多的產品把自身的展示和應用表現於flash player當中,這些產品的動畫也經常應用到ActionScript 以新增互動和行為表現他們的產品。 在Macromedia 產品家族, 專業設計師和也許使用 ActionScript 在幾個產品當中, 譬如Macromedia flash, Flex, 和Flash media servers創造出內容和應用表現在flash player當中。在Flex2 產品家族, 包括最新的基於Eclipe—的Flex Builder 2 IDE,會是系列產品中第一個應用ActionScript 3.0 的新體驗的產品。
ActionScript 3.0的目標:
我們需要ActionScript 3.0 提供一個先進的, 與撰寫程式模型一致的, 務從業界標準, 以及表現將數量級大於我們過去的執行效能。雖然ActionScript 3.0 代表著flash平台一個新的撰寫程式模型,它也將會是一個讓開發者熟悉的基礎的面對對象的撰寫程式語言。
ActionScript3.0的出現將展現出如下目標:
安全 – 它支援一定的安全以使得能夠讓開發者寫出明白的, 容易的可維護的程式碼。
樸素 - 這種語言的直覺程度使開發者能夠直接讀和寫項目,而不需要經常參考手冊
表現 - 這種語言使開發者寫出高效率的和表現性強的複雜項目。
兼容性 - 這種語言拋棄不規範的語言標準以及提供向後兼容以及有意義的交替以符合業界標準。ActionScript 3.0 是規範化了的ActionScript 2.0, 增 加了ECMAScript 其中的XML應用(E4X) ,使得這 種語言融入ECMAScript整體連為一貫。
ActionScript 3.0的特徵:
ActionScript 3.0 包括二部分: 核心語言和flash player API 。核心語言用於定義撰寫程式語言的結構, 譬如聲明, 表示, 條件, 循環, 和類型 。flash player API是 由一系列精確定義flash player功能的類組成。
ActionScript 3.0 擁有盡可能的挖掘出計算機剩餘性能的新特點。規則表示支援使操作性更加強大的XML。 ECMAScript for XML (E4X) 使得XML 成為通用資料類型, 將大大地簡化XML 處理。新的Display ListAPI將使虛擬物件更加的協調一致。 規範化的DOM 事件模型使得那些對象的表示和回應結合的更加強勁。當然這些只是ActionScript3.0許多新的體驗當中的一部分。
actionscript3.0語言特點:
ActionScript 3.0 的出現是ActionScript 2.0 的核心語言方面融入ECMAScript 以遵守其標準和引入新的改進的一些功能區域的結合。所有這些特點在ActionScript 3.0 語言參考中都有詳細的介紹和討論, 可得到試用版正在Macromedia 實驗室。下面是一些其開發者對其方便的地方和用法總結的一些新特點。
增強處理執行錯誤的能力
應用ActionScript 2.0時, 許多表面上「完美無暇」的執行錯誤無法得到記載。這使得flash player無法彈出提示錯誤的對話框, 就像javascript語言在早期的瀏覽器中所表現的一樣。也就是說, 這些缺少的錯誤報告使得我們不得不花更多精力去測試ActionScript 2.0程式。ActionScript 3.0 引入在編譯當中容易出現的更加廣泛的錯誤的情形, 改進的測試方式使得能夠健壯地處置應用項目當中的錯誤。提示的執行錯誤提供足夠的附註(例出出錯的源檔案)和以數字提示的時間線, 輔助開發者迅速的定位產生錯誤的位置。
對執行錯誤的處理方式
在ActionScript 2.0中,執行錯誤的註釋主要提供給開發者一個輔助,所有的輔助方式都是動態的。而在ActionScript且是3.0中, 這些訊息將被儲存到一定的數量,Flash player將提供時間型檢查以提高系統的執行安全。這些訊息將記錄下來用於監視變數在電腦中的執行情況, 以使得開發者能夠讓自己的應用項目得到改進以減少對內存的使用。
密封的類別
ActionScript 3.0 將引入密封的類的概念。在編譯時間內的的密封類擁有唯一固定的特徵和方法,其它的特徵和方法不可能被加入。這使得比較嚴密的編譯時間檢查成為可能, 創造出健壯的項目。因而它當然可以提高對內存的使用效率, 因為不需要為每一個物件實例新增內在的雜亂指令。當然動態類依然可以使用只要聲明為dynamic的關鍵字。
代理方式
在ActionScript 3.0中事件處理變的更加簡化歸功於它的嵌入式代理方式。而在ActionScript 2.0中, 方法關閉後並沒有記住什麼物件事例引用了它們, 當引用已經關閉的方法時將導致意想不到的後果。 Mx.utils.Delegate 類經常被使用,使用它時, 你寫了程式碼如下:
myButton.addEventListener(「click」, Delegate.create(this, someMethod)); Delegate.create(this, someMethod)
在AS3.0中,這個類不再需要被引入, 當方法關閉時將自動地記住它的原始物件實例。現在, 你可以簡單地寫為: myButton.addEventListener(「click」, someMethod);
ECMAScript 中的 XML (E4X)
ActionScript 3.0 特點之一是全面支援ECMAScript中的 XML (E4X), 最新的規範標準為ECMA-357 。E4X 提供一種自然, 流利的語言使得能夠快速的構造XML 。而不是象傳統XML的解析API一樣, E4X使得XML成為通用的資料類型。E4X 簡化操作XML將大大的減少相當 數量的程式碼以適用應用項目需要的發展。在這個網站你能學到更多關於E4X 的規格:
訪客無法瀏覽此圖片或連結,請先 註冊登入會員

規範的表達方式
ActionScript 3.0 引入支援通用規則使得能夠迅速搜尋和快速的操作字元(串)。ActionScript 3.0實施規則定義在第三版的ECMAScript 語言說明書當中(ECMA-262) 。
命名空間(Namespaces)
Namespaces 是一種創新新機制用以控制聲明的可見性。 Namespaces 與傳統通過指定類型用以控制聲明(公開的, 私有的, 保護的)是相似的 。他們本質是通過自訂路徑, 能夠使用你所選擇的名字。Flex, 例如, 使用一mx_internal 命名空間為它的內部資料來源。命名空間使用統一的資源標識符(URI)以避免衝突 ,當與E4X一起使用時同樣可以使用XML命名空間。.
新的整數類型
ActionScript 2.0用Number定義有單精度數字類型和雙精度浮點數字類型。受歡迎的新的Int資料類型將加入到ActionScript3.0當中。int是一個32位有符號整型資料類型, 使得CPU將提高ActionScript程式碼中處理整數運算的能力,int將提高循環運算以及幾乎其它不帶小數點的整數運算。另一個新的資料類型是uint, 一個與int相似的無符號32位整數型 。uint 主要用於表現象索顏色和其它一些int所不能很好工作的領域。
Flash Player API的特點
Flash player API 由一組類和功能組成以增強flash player容納actionscript語言的能力。這種功能是在ActionScript 核心語言和空餘的flash平台間建立起了一座橋樑。這將能大大的提高flash應用程式的能力以及對於核心語言來說將起到重要的補充作用。這裡沒有足夠的空間來對API的細節進行詳細的描述, 但這裡有一張短名單列出一些新的和有趣的功能:
(1):DOM3 Event Model
DOM3事件模型提供一個標準方式發生和處置事件消息以使得物件在應用之間能夠互動和通信, 維護狀態和對變化產生回應。仿造 W3C DOM3 事件規格, 這個事件模型能夠帶來比早期的ActionScript版本中的系統事件更加清晰和高效的機制。 Flex程式構架應用和flash player API相同的DOM3事件模型,以至於系統事件從flash平台的頂端走到了末路。
(2):Display List API
顯示屏的API(API)由一組相關的能夠表現出簡單而生動flash動畫的類組成。
新的(Sprite:調皮的,精靈之意。暫且譯為閃靈) 閃靈類是一個輕量級選手,與MovieClip類相似,但比較適合於作為UI組件的基本類。新的形狀類將取代舊的向量形狀。這些新的類能夠應用新的操作方式自然的表現並且能夠在任何時候都比自己的前輩(指舊的類和舊的方式)展現的更加有活力。
不再需要為物件指定深度。深度管理現在在flash player當中是自動建立的。新方法提供了可以為物件指定和管理Z軸。
當然, 這個ActionScript 3.0 概要只概述一些扣人心弦 的API的介紹 以及語言特色。當你更加深入學習AS3.0的時候你將發現更多 。當你想學習ActionScrip3.0如何實現應用項目設計時>一書裡將是你好的開始。 當然>ActionScript 3.0 Language Reference)是AS3.0核心語言完整描述和flash player API細述的權威資料. 當然, 如果你已經對 ActionScript 1.0 或2.0比較熟悉,請查閱《ActionScript 3.0的新特點》((Tips for Learning ActionScript 3.0. ) 。
Flash player的開發者非常興奮能夠在第一時間傳遞出這份語言預覽, 它的新能力和改進的表現性能通過了Macromedia 實驗室的試驗。你能夠嗅覺到 ActionScript 3.0將帶入到Flex Builder 2,Flex Framework以及Flash Player 8.5當中。我希望你們能夠和我們一樣為flash 平台的未來而感動。 並且我們期待著你們在試驗當中的反饋。
作者: Flash Player
工程主管:Gary Grossman。
Flash player進階產品經理人:Emmy Huang 。
翻譯:衡-----------藍色理想——經典論壇
幾乎用了一天的時間終於翻譯完成,我會盡力將裡面的錯誤改正,也希望大家能夠提出裡面的錯誤.謝謝!
補充連結:
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
下載Flex 2 Builder
訪客無法瀏覽此圖片或連結,請先 註冊登入會員
Flash 9 Alpha

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。