ActionScript
ActionScript是原 Macromedia 公司(後併入 Adobe)為其 Flash 產品開發的一種因為 ECMAScript 的物件導向程式語言。ActionScript 會當用網頁做、Adobe Flash 動畫佮 RIA 應用程式的開發。
ActionScript 和 JavaScript 攏是因為 ECMAScript 語法,因為這款有類似的語法。理論上𪜶互相會當真順序對一種語言翻譯到另外一種。猶毋過 JavaScript 的文件模型是以瀏覽器窗口、文件佮表單為主的,ActionScript 的文件模型是以 SWF 格式動畫為主,會當包括動畫、音訊、文字佮事件處理。
ActionScript 開發的時陣會用得匯入 ANE 做平棒使用;並且官方公佈認證 Starling(是因為 OPGL 協定)開放框殼,會用得 GPU 高速繪圖,就是非傳統的 CPU 運算功能。
歷史
ActionScript 頭擺出現佇咧 Flash 五並實現矣佇 Flash 內面編程。這个版本予人號做 ActionScript 一垺零。Flash 六通過增加大量的內建函式佮對動畫元素閣較好的編程控制閣較進一步增強編程環境的功能。Flash 七(MX 兩千空四)引進了後 ActionScript 二孵空,伊增加強型別和物件導向特徵,若顯式類聲明、繼承、介面佮嚴格資料的類型。ActionScript 一鋪空佮二鋪空使用相仝的編譯形式編譯成做 Flash SWF 檔案。
放送器發展時間表
桌面 + APP 時間表
- 二空空七年三月十九:發佈 AIR public preview(彼个時陣講 Apollo)佮軟體開發工具包(SDK)。
- 二空空七年六月十號:Apollo 閣較號名做 AIR 佮發佈 AIR Public beta。
- 二空空七年十月一號:發佈 AIR Public beta 二。
- 二空空七年十二月十二號:發佈 AIR Public beta 三。
- 二空空八年二月二十五:發佈 AIR 一孵空版本。
- 二空空八年六月十七號:發佈 AIR 一孵一版本。
- 二空空八年十一月十七:發佈 AIR 一孵五版本。
- 二空空九年二月二四:發佈 AIR 一垺五 . 一版本。
- 二空空九年七月三十號:發佈 AIR 一垺五 . 二版本。
- 二空空九年十二月初八:發佈 AIR 一垺五 . 三版本。
- 二空一空年六月十號:發佈 AIR 二孵空版本。
- 二空一空年十月二十四號:發佈 AIR 二孵五版本。
- 二空一一年二月二四:發佈 AIR 二孵六版本。
- 二空一一年六月十四號:發佈 AIR 二孵七版本的。
- 二空一一年十月初三:發佈 AIR 三更零版本。
- 二空一一年十一月十一號:發佈 AIR 三孵一版本。
- 二空一二年三月二八:發佈 AIR 三鋪二版本。
- 二空一二年六月五號:發佈 AIR 三板三版。
- 二空一二年八月二十一:發佈 AIR 三孵四版本。
- 二空一二年十一月初六:發佈 AIR 三人五版本。
- 二空一三年二月十二號:發佈 AIR 三鋪六版本。
- 二空一三年四月初九:發佈 AIR 三人七版本的。
- 二空一三年七月二四:發佈 AIR 三-c八版本。
- 二空一三年十月初八:發佈 AIR 三更九版本。
- 二空一三年十月三十號:發佈 AIR 四配零版本。
- 二空一四年四月初八:發佈 AIR 十三孵空版本。
- 二空一四年六月十號:發佈 AIR 十四孵空版本。
- 二空一四年九月初九:發佈 AIR 十五孵空版本。
- 二空一四年十一月十一號:發布 AIR 十六板空版本(Beta), 全面支援 win 八六十四位元 / android 五曉空 / ios 八。
- 二空一五年一月二二:發布 AIR 十六板空版本(正式版), 全面支援 win 八六十四位元 / android 五曉空 / ios 八。
- 二空一五年二月四號:發布 AIR 十七孵空版本(Beta), 強化支援三 D 特效佮其他的視訊效果,閣優化效率。
- 二空一五年四月十四號:發布 AIR 十七孵空 . 空九一七一版本(正式版)。
- 二空一五年四月二二:發布 AIR 十八珍空版本(Beta), 三 D 功能擴充,優化 IOS 效率百分之二十。
- 二空一五年五月十三:開源團隊開啟支援 linux ubuntu 計畫。
- 二空一五年七月初八:發佈 AIR 十八珍空版本。
- 二空一五年九月二一:發佈 AIR 十九孵空版本,增加的安全性佮增加 IOS 支援。
- 二空一五年十一月十八號:發佈 AIR 二十五空(Beta)版本。加添 android TV 等跨平台 TV 支援技術研發。
- 二空一六年六月十六:發佈 AIR 二十一孵空版本。強化視訊佮攝影機的路線規劃、高畫質處理、效能優化佮移動平台相關開發。
語言
語法
佇咧 ActionScript 二嬸空內底,函式館物件(如影片段、揤鈕)會當和類聯絡做伙。類會當寫佇外口的文件檔 àn-nāi,並且遮的檔案著愛有. as綴尾仔。類是增設的部份 ─ ─ 著 ActionScript 語言來講,會當予程式員家己開發,雖然有真濟內底建類譬如講MovieClip類 ─ ─ 會當用來動態的所在螢幕頂懸畫出向量 ─ ─ 已經滿足需求矣。類檔案會使編程更加容易,並且類檔案若需要會當佇濟濟專案間轉移。
Flash ActionScript 實現的特點如下,JavaScript 程式員無定著有興趣:
- 一切設計是非同步的;回呼函式是普遍存在的,毋過事件物件無存在的。
- XML 的實現按呢 Flash 五便存在矣。Flash 會當送佮收 XML,彼个功能會使來透過網路侍服器創造網路頂加耍者遊戲。
ActionScript 代碼定定攏寫佇咧 Flash 開發環境。該環境提供參考、代碼提示佮句法強調。原代碼定定佮電影做伙存在 . fla 檔案內底。自外部檔案檔透過 # include 語法匯入 ActionScript 代碼也誠捷看著。佇這个情形下,外部檔案無的確予人 Flash 整合開發環境內底建編譯器,抑是 Motion Twin ActionScript 二編譯器(MTASC)編譯。
評價
- 編程人員講 Macromedia ActionScript 二嬸零編譯器有淡薄仔慢,定定開幾若分鐘才編譯一百个類別,毋過開放原始碼編譯器 MTASC 會當利用;得欲加矣。
- ActionScript 二嬸零非常闊的語法定定予編程人員鼻目眉,因為伊定定予無清氣代碼足歹閱讀的。ActionScript 三分零的型別縛定改善這缺點
- 佇咧 Flash 內底使用真濟向量圖形可能拖慢執行真濟應用程式的機器的效能,因為乎 Flash 每一个影格每一个向量圖。Flash 八引進矣 cacheAsBitmap 變數,伊暫時共向量圖轉換到點陣圖,這種做法幫助降低矣延敗。
- Flash 的 ActionScript VM 傾向佇咧觸發內部的暫停處理進前就足緊的達到伊的運算真有限,特別佇咧麥金塔版的 Flash 放送器頂懸閣較嚴重。比如講,簡單自一算到五千會威脅某一寡使用者 Flash 放送器這个能力。
- 佇咧 Flash 八搭真濟人無愛引入(import)某乜類一直到愛用著遐的類別前最後一刻。不幸的是,ActionScript 三-c零不止仔倚靠引入類別,無敆入編寫指令碼(scripting)實際上無啥可能啦。
- . swf 檔案的格式容易予人反編譯,使伊誠難以保持原碼的隱密性。佇日後的發展因為發佈了後為原生語言結構這个問題已經無復存在矣,加上 app 的平台有家己的加密方式閣較了解決所有的語言攏有的這難題。
範例
ActionScript 二孵空樣本
下跤列印 Hello World。值得注意的是這只會當佇整合環境下執行,因為乎 trace 函式干焦支援整合環境。
下跤代碼利用 onMouseMove 事件做滑鼠徙動的時輸出現行趨鼠位置。仝款的這干焦佇整合環境下執行。
這个較先進的範例創造一个包括數字佮字攕的陣列,並利用原形函式(prototype function)佮函式遞迴予變數名 ` num ` 指定一个數,予變數 ` str ` 指定一个字串。然後,利用 MovieClip 應用程式介面,文字區域被顯示佇螢幕頂懸,文字區域內底寫佇變數值。
ActionScript 三-c零樣本
下跤先進的 Hello World 程式目前需要佇 Flex 二嬸零公開 Alpha 測試版整合環境中編譯。
Starling GPU 開發樣本
匯入 SWC 抑是相關 SDK 以後,佇建構內底加入以下這段,就會當啟用 GPU 高速框架開發相關 swf 抑是迒平台軟體。
參見
- ECMAScript
- Lingo for Macromedia Director
- Macromedia Flash
- Scripting
- Macromedia
參考資料
外部連結
- 官方 API
- Macromedia 實驗室-Macromedia 發展中技術資源站(英)