fbpx
维基百科

ActionScript

ActionScript是原Macromedia公司(后并入Adobe)为其Flash产品开发的一种基于ECMAScript面向对象编程语言。ActionScript可用于网页制作Adobe Flash动画和RIA应用程序的开发。

ActionScript
编程范型多重编程范式基於原型的物件導向程式設計函數程式語言指令式編程腳本語言
設計者Gary Grossman英语Gary Grossman
實作者Adobe Systems
发行时间1998年
目前版本
  • 3.0 (2006年6月27日)
型態系統強型別靜態型別
作業系統跨平台
網站www.adobe.com/devnet/actionscript.html
主要實作產品
Adobe FlashAdobe_AnimateApache Flex
啟發語言
JavaScriptJava

ActionScript和JavaScript均基于ECMAScript语法,因而拥有类似的语法。理论上它们互相可以很流畅地从一种语言翻译到另一种。不过JavaScript的文档对象模型是以浏览器窗口、文档表单为主的,ActionScript的文档对象模型则以SWF格式动画为主,可包括动画、音频、文字和事件处理。

ActionScript 開發時可藉由導入 ANE 作為跨平台使用;並且官方公布之認證Starling (基於OPGL協定)開放框架,可使用GPU高速繪圖,而非傳統的CPU運算功能。

歷史

 
Mac OS X 10.2操作系统上的Macromedia Flash MX专业版里,这些代码可以创建一个与MAC OS X启动过程中看见的类似的动画。

ActionScript 首次出现于Flash 5并实现了在Flash内编程。这个版本被命名为ActionScript 1.0。Flash 6通过增加大量的内置函数和对动画元素更好的编程控制更进一步增强了编程环境的功能。Flash 7(MX 2004)引进了ActionScript 2.0,它增加了强类型面向对象特征,如显式声明、继承接口和严格数据类型。ActionScript 1.0 和 2.0 使用相同的编译形式编译成Flash SWF文件。

播放器發展時間表

版本 發布日期 描述
Flash Player 2 1997/06/17 第一个支持脚本的版本,包括控制时间轴的gotoAndPlay、 gotoAndStop、nextFrame和nextScene等方法。
Flash Player 3 1998/05/31 增强了载入外部SWF文件的基本脚本支持(loadMovie)。
Flash Player 4 1999/06/15 第一个完全实现脚本功能(称为「动作」)的播放器。这些脚本拥有简练的语法和对循环、条件、变量和其它基本语言结构的支持。
Flash Player 5 2000/08/24 第一个拥有真正意义上的ActionScript的版本。依据ECMAScript,[1]采用基于原型编程,并允许完全的过程式编程面向对象编程
Flash Player 6 2002/03/15 增加了事件处理模型,并且支持switch。
Flash Player 7 2003/09/10 提供一些新特性,如支持CSS显示文本和增强显示效果。Macromedia Flash编译器和Flash Player 7同时支持基于ECMAScript 4 Netscape Proposal[2]编程语言ActionScript 2.0。不过ActionScript 2.0能交叉编译成ActionScript 1.0的字节码,因此它能运行于Flash Player 6。
Flash Player 8 2005/09/13 增加用于运行时图象数据控制和文件上传的新类库及APIs,ActionScript 2.0功能更为完善。
Flash Player 9 2006/06/22 原稱為Flash Player 8.5,增加ActionScript 3.0和一个称为AVM2(ActionScript Virtual Machine 2)新的虚拟机,它可以与前版本AVM1共存以便支持旧内容。增强性能是该版本的主要目标。這是adobe收購Macromedia後的第一個版本,並且也是Mac OS X上第一個Universal版本的Flash Player。
Flash Player 10 2008/10/15 支援多線程。
Flash Player 11 2011/10/04 運用Stage3D API提供的硬體加速圖像渲染,支援GPU加速。[3]
Flash Player 14 2014/06/10 支援AGAL2[4]
Flash Player 17.0.0.93(閱覽版 (Beta)) 2015/03/12
  • 支持64位元PC全平台
  • Flash Player 17.0.0.171(正式版)
Flash Player 18(閱覽版 (Beta)) 2015/06/09
  • 支持PC瀏覽器優化
  • 支持3D支援持續擴充
Flash Player 19 2015/09/21
Flash Player 20 2015/12/08 增強視訊處理和資訊防盜功能
Flash Player 21 2016/03/10
  • 針對FLASH 與 HTML5結合運用 完善相關API
  • 與火狐團隊合作 並針對火狐特殊需求增加支援
  • GPU渲染 3D 記憶體處理
  • 強化MAC平台支援
Flash Player 22 2016/06/16
  • 處理字典訊息問題
  • XML 修正
  • PPAPI 印刷修正
  • 针对Chrome浏览器修正橫向模式
  • 大空字符修正
  • 新增 EnableLocalAppData 作為安全性功能提供
  • 與 Google 合作修正視訊路線處理

桌面+APP時間表

  • 2007年3月19日:發佈AIR public preview(當時稱Apollo)及軟體開發工具包(SDK)。
  • 2007年6月10日:Apollo更名為AIR及發佈AIR Public beta。
  • 2007年10月1日:發佈AIR Public beta 2。
  • 2007年12月12日:發佈AIR Public beta 3。
  • 2008年2月25日:發佈AIR 1.0版本。
  • 2008年6月17日:發佈AIR 1.1版本。
  • 2008年11月17日:發佈AIR 1.5版本。
  • 2009年2月24日:發佈AIR 1.5.1版本。
  • 2009年7月30日:發佈AIR 1.5.2版本。
  • 2009年12月8日:發佈AIR 1.5.3版本。
  • 2010年6月10日:發佈AIR 2.0版本。
  • 2010年10月24日:發佈AIR 2.5版本。
  • 2011年2月24日:發佈AIR 2.6版本。
  • 2011年6月14日:發佈AIR 2.7版本。
  • 2011年10月3日:發佈AIR 3.0版本。
  • 2011年11月11日:發佈AIR 3.1版本。
  • 2012年3月28日:發佈AIR 3.2版本。
  • 2012年6月5日:發佈AIR 3.3版本。
  • 2012年8月21日:發佈AIR 3.4版本。
  • 2012年11月6日:發佈AIR 3.5版本。
  • 2013年2月12日:發佈AIR 3.6版本。
  • 2013年4月9日:發佈AIR 3.7版本。
  • 2013年7月24日:發佈AIR 3.8版本。
  • 2013年10月8日:發佈AIR 3.9版本。
  • 2013年10月30日:發佈AIR 4.0版本。
  • 2014年4月8日:發佈AIR 13.0版本。
  • 2014年6月10日:發佈AIR 14.0版本。
  • 2014年9月9日:發佈AIR 15.0版本。
  • 2014年11月11日:發布AIR 16.0版本(Beta),全面支援win8 64位元 /android 5.0 /ios 8。
  • 2015年1月22日:發布AIR 16.0版本(正式版),全面支援win8 64位元 /android 5.0 /ios 8。
  • 2015年2月4日:發布AIR 17.0版本(Beta),強化支援3D特效與其他視訊效果,並優化效率。
  • 2015年4月14日:發布AIR 17.0.0.171版本(正式版)。
  • 2015年4月22日:發布AIR 18.0版本(Beta),3D功能擴充,優化IOS效率20%。
  • 2015年5月13日:開源團隊開啟支援linux ubuntu計畫。
  • 2015年7月8日:發佈AIR 18.0版本。
  • 2015年9月21日:發佈AIR 19.0版本,增加安全性和增加IOS支援。
  • 2015年11月18日:發佈AIR 20.0(Beta)版本。增加android TV 等跨平台 TV 支援技術研發。
  • 2016年6月16日:發佈AIR 21.0版本。強化視訊和攝影機路線規劃、高畫質處理、效能優化和移動平台相關開發。

語言

語法

在ActionScript 2.0裡,函式館物件(如影片片段、按鈕)可與類聯繫在一起。類可寫在外在文件檔案內,並且這些文件必須有.as後綴。類是增設部分──對ActionScript語言來說,可讓程式員自行開發,雖然有許多內建類譬如MovieClip類──可被用來動態地在螢幕上畫出向量──已經滿足需求了。類檔案可使編程更加容易,並且類檔案如果需要的話可在許多專案間轉移。

Flash ActionScript實現的特點如下,JavaScript程式員也許感興趣:

  • 一切設計是非同步的;回调函数是普遍存在的,但事件對象不存在。
  • XML的實現從Flash 5便存在了。Flash可送和收XML,該項功能可用來透過網路伺服器創造網上多玩者遊戲。

ActionScript代碼常常直接寫在Flash開發環境。該環境提供參考、代碼提示和句法強調。原代碼常常與電影一起存在.fla檔案裡。自外部文件檔透過#include語法導入ActionScript代碼也相當常見。在這種情況下,外部檔案也許被Flash整合開發環境內建編譯器,或Motion Twin ActionScript2編譯器(MTASC)編譯。

评价

  • 編程人員們說Macromedia ActionScript 2.0編譯器有點慢,常常花好幾分鐘才編譯100個類別,然而開放源碼編譯器MTASC可以利用;它快多了。
  • ActionScript2.0 非常寬大的語法常常讓編程人員們皺眉,因為它常常讓不乾淨代碼難以閱讀。ActionScript 3.0的型別綁定改善了此缺點
  • 在Flash裡使用許多向量圖形可能拖慢執行許多應用程序的機器的效能,因為Flash每幀每幀重畫每個向量圖。Flash 8引進了cacheAsBitmap變數,它暫時把向量圖轉換到點陣圖,這種做法幫助降低了延滯。
  • Flash的ActionScript VM傾向在觸發內部的暫停處理前就非常快達到它的運算極限,特別在麥金塔版的Flash播放器上更嚴重。例如,簡單從1算到5000會威脅某些用戶Flash播放器的能力。
  • 在Flash 8裡許多人不喜歡引入(import)某些類直到要用到那些類別前最後一刻。不幸的是,ActionScript 3.0相當倚賴引入類別,沒有導入撰寫腳本(scripting)實際上不太可能。
  • .swf檔案格式容易被反編譯,使它非常難以保持原碼的隱密性。在日後的發展由於發布後為原生語言結構此問題已不復存在,加上app的平台有自己的加密方式更加的解決所有語言都有的這難題。

[來源請求]

示例

ActionScript 2.0樣本

下面列印Hello World。值得注意的是這只能在整合環境下執行,因為trace函式只有支援整合環境。

trace("Hello world!"); 

下面代碼利用onMouseMove事件當滑鼠移動時輸出現行滑鼠位置。同樣的這只有在整合環境下執行。

onMouseMove = function () {  trace("X: "+_root._xmouse);  trace("Y: "+_root._ymouse); }; 

這個較先進的範例創造一個包括數字與字串的陣列,並利用原形函式(prototype function)與函式遞歸給變數名num指定一個數,給變數str指定一個字串。然後,利用MovieClip應用程序介面,文字區域被顯示在屏幕上,文字區域裡頭寫入了變數值。

var my_Array:Array = new Array("Hello", "ActionScript", 3, 7, 11, "Flash"); Array.prototype.pickNumber = function():Number {  var rand:Number = random(this.length);  return (typeof (this[rand]) == "number") ? this[rand] : this.pickNumber(); }; Array.prototype.pickString = function():String {  var rand:Number = random(this.length);  return (typeof (this[rand]) == "string") ? this[rand] : this.pickString(); }; var num:Number = my_Array.pickNumber(); var str:String = my_Array.pickString(); _root.createTextField("txt", 1, 10, 10, 530, 390); txt.text = "Array = "+my_Array+"\nRandom Number = "+num+"\nRandom String = "+str; 

ActionScript 3.0樣本

下面先進的Hello World程序目前需要在Flex 2.0公開Alpha測試版整合環境中編譯。

package {  import flash.text.TextField;  import flash.display.MovieClip;  import flash.filters.DropShadowFilter;  public class HelloWorld extends MovieClip {  public function HelloWorld() {  var shad:DropShadowFilter = new DropShadowFilter(2, 45, 0x000000, 25, 3, 3, 2, 2);  var txt:TextField = new TextField();  txt.textColor = 0xFFFFFF;  txt.filters = [shad];  txt.width = 120;  txt.x = Math.random()*300;  txt.y = Math.random()*300;  txt.selectable = false;  txt.text = "Hello World! ["+Math.round(txt.x)+","+Math.round(txt.y)+"]";  addChild(txt);  }  } } //-----ActionScript3.0----------------- //as3.0最重要的概念就是在效能方面的增進,平時所加入的任何事件都可以被監聽或從記憶體中移除 //以下例子就是監聽與移除記憶體占用,這是as3.0最重要的基礎概念 bt1.addEventListener(MouseEvent.CLICK,bt1_click); function bt1_click(e:MouseEvent):void{ //觸發的事件內容; } //該按紐監聽不需要時則remove掉,增加效能 bt1.removeEventListener(MouseEvent.CLICK,bt1_click); 

Starling GPU 開發樣本

導入 SWC 或相關 SDK 以後,在建構子內加入以下這段,便可啟用 GPU 高速框架開發相關 swf 或是跨平台軟體。[5][6][7]

var _starling = new Starling(MainGame, stage); _starling.start(); 

參見

参考资料

  1. ^ Standard ECMA-262. Ecma-international.org. [April 22, 2013]. (原始内容于2015-12-30). 
  2. ^ ECMAScript. ECMAScript. [April 22, 2013]. (原始内容存档于2016年5月18日). 
  3. ^ Flash Player 11 Release Notes. [2014-08-27]. (原始内容于2014-09-23). 
  4. ^ Flash Player 14 Release Notes. [2014-08-27]. (原始内容于2014-10-03). 
  5. ^ Introducing Starling | Adobe Developer Connection. www.adobe.com. [2019-08-31]. (原始内容于2019-08-31). 
  6. ^ Starling Features - The Cross Platform Game Engine. Gamua. [2019-08-31]. (原始内容于2019-08-31) (英语). 
  7. ^ Bose, Juwal. Starling game development essentials : develop and deploy isometric turn-based games using Starling. Birmingham, UK: Packt Pub. 2013 [2019-08-31]. ISBN 178398354X. OCLC 870467587. (原始内容于2019-09-19). 

外部連結

actionscript, 本條目存在以下問題, 請協助改善本條目或在討論頁針對議題發表看法, 此條目需要編修, 以確保文法, 用詞, 语气, 格式, 標點等使用恰当, 2019年3月22日, 請按照校對指引, 幫助编辑這個條目, 幫助, 討論, 此條目需要补充更多来源, 2017年5月4日, 请协助補充多方面可靠来源以改善这篇条目, 无法查证的内容可能會因為异议提出而移除, 致使用者, 请搜索一下条目的标题, 来源搜索, 网页, 新闻, 书籍, 学术, 图像, 以检查网络上是否存在该主题的更多可靠来源, 判定指引. 本條目存在以下問題 請協助改善本條目或在討論頁針對議題發表看法 此條目需要編修 以確保文法 用詞 语气 格式 標點等使用恰当 2019年3月22日 請按照校對指引 幫助编辑這個條目 幫助 討論 此條目需要补充更多来源 2017年5月4日 请协助補充多方面可靠来源以改善这篇条目 无法查证的内容可能會因為异议提出而移除 致使用者 请搜索一下条目的标题 来源搜索 ActionScript 网页 新闻 书籍 学术 图像 以检查网络上是否存在该主题的更多可靠来源 判定指引 ActionScript是原Macromedia公司 后并入Adobe 为其Flash产品开发的一种基于ECMAScript的面向对象编程语言 ActionScript可用于网页制作 Adobe Flash动画和RIA应用程序的开发 ActionScript编程范型多重编程范式 基於原型的物件導向程式設計 函數程式語言 指令式編程 腳本語言設計者Gary Grossman 英语 Gary Grossman 實作者Adobe Systems发行时间1998年目前版本3 0 2006年6月27日 型態系統強型別 靜態型別作業系統跨平台網站www wbr adobe wbr com wbr devnet wbr actionscript wbr html主要實作產品Adobe Flash Adobe Animate Apache Flex啟發語言JavaScript JavaActionScript和JavaScript均基于ECMAScript语法 因而拥有类似的语法 理论上它们互相可以很流畅地从一种语言翻译到另一种 不过JavaScript的文档对象模型是以浏览器窗口 文档和表单为主的 ActionScript的文档对象模型则以SWF格式动画为主 可包括动画 音频 文字和事件处理 ActionScript 開發時可藉由導入 ANE 作為跨平台使用 並且官方公布之認證Starling 基於OPGL協定 開放框架 可使用GPU高速繪圖 而非傳統的CPU運算功能 目录 1 歷史 1 1 播放器發展時間表 1 2 桌面 APP時間表 2 語言 2 1 語法 2 2 评价 3 示例 3 1 ActionScript 2 0樣本 3 2 ActionScript 3 0樣本 3 3 Starling GPU 開發樣本 4 參見 5 参考资料 6 外部連結歷史 编辑 在Mac OS X 10 2操作系统上的Macromedia Flash MX专业版里 这些代码可以创建一个与MAC OS X启动过程中看见的类似的动画 ActionScript 首次出现于Flash 5并实现了在Flash内编程 这个版本被命名为ActionScript 1 0 Flash 6通过增加大量的内置函数和对动画元素更好的编程控制更进一步增强了编程环境的功能 Flash 7 MX 2004 引进了ActionScript 2 0 它增加了强类型和面向对象特征 如显式类声明 继承 接口和严格数据类型 ActionScript 1 0 和 2 0 使用相同的编译形式编译成Flash SWF文件 播放器發展時間表 编辑 版本 發布日期 描述Flash Player 2 1997 06 17 第一个支持脚本的版本 包括控制时间轴的gotoAndPlay gotoAndStop nextFrame和nextScene等方法 Flash Player 3 1998 05 31 增强了载入外部SWF文件的基本脚本支持 loadMovie Flash Player 4 1999 06 15 第一个完全实现脚本功能 称为 动作 的播放器 这些脚本拥有简练的语法和对循环 条件 变量和其它基本语言结构的支持 Flash Player 5 2000 08 24 第一个拥有真正意义上的ActionScript的版本 依据ECMAScript 1 采用基于原型编程 并允许完全的过程式编程和面向对象编程 Flash Player 6 2002 03 15 增加了事件处理模型 并且支持switch Flash Player 7 2003 09 10 提供一些新特性 如支持CSS显示文本和增强显示效果 Macromedia Flash编译器和Flash Player 7同时支持基于ECMAScript 4 Netscape Proposal 2 的类编程语言ActionScript 2 0 不过ActionScript 2 0能交叉编译成ActionScript 1 0的字节码 因此它能运行于Flash Player 6 Flash Player 8 2005 09 13 增加用于运行时图象数据控制和文件上传的新类库及APIs ActionScript 2 0功能更为完善 Flash Player 9 2006 06 22 原稱為Flash Player 8 5 增加ActionScript 3 0和一个称为AVM2 ActionScript Virtual Machine 2 新的虚拟机 它可以与前版本AVM1共存以便支持旧内容 增强性能是该版本的主要目标 這是adobe收購Macromedia後的第一個版本 並且也是Mac OS X上第一個Universal版本的Flash Player Flash Player 10 2008 10 15 支援多線程 Flash Player 11 2011 10 04 運用Stage3D API提供的硬體加速圖像渲染 支援GPU加速 3 Flash Player 14 2014 06 10 支援AGAL2 4 Flash Player 17 0 0 93 閱覽版 Beta 2015 03 12 支持64位元PC全平台 Flash Player 17 0 0 171 正式版 Flash Player 18 閱覽版 Beta 2015 06 09 支持PC瀏覽器優化 支持3D支援持續擴充Flash Player 19 2015 09 21Flash Player 20 2015 12 08 增強視訊處理和資訊防盜功能Flash Player 21 2016 03 10 針對FLASH 與 HTML5結合運用 完善相關API 與火狐團隊合作 並針對火狐特殊需求增加支援 GPU渲染 3D 記憶體處理 強化MAC平台支援Flash Player 22 2016 06 16 處理字典訊息問題 XML 修正 PPAPI 印刷修正 针对Chrome浏览器修正橫向模式 大空字符修正 新增 EnableLocalAppData 作為安全性功能提供 與 Google 合作修正視訊路線處理桌面 APP時間表 编辑 2007年3月19日 發佈AIR public preview 當時稱Apollo 及軟體開發工具包 SDK 2007年6月10日 Apollo更名為AIR及發佈AIR Public beta 2007年10月1日 發佈AIR Public beta 2 2007年12月12日 發佈AIR Public beta 3 2008年2月25日 發佈AIR 1 0版本 2008年6月17日 發佈AIR 1 1版本 2008年11月17日 發佈AIR 1 5版本 2009年2月24日 發佈AIR 1 5 1版本 2009年7月30日 發佈AIR 1 5 2版本 2009年12月8日 發佈AIR 1 5 3版本 2010年6月10日 發佈AIR 2 0版本 2010年10月24日 發佈AIR 2 5版本 2011年2月24日 發佈AIR 2 6版本 2011年6月14日 發佈AIR 2 7版本 2011年10月3日 發佈AIR 3 0版本 2011年11月11日 發佈AIR 3 1版本 2012年3月28日 發佈AIR 3 2版本 2012年6月5日 發佈AIR 3 3版本 2012年8月21日 發佈AIR 3 4版本 2012年11月6日 發佈AIR 3 5版本 2013年2月12日 發佈AIR 3 6版本 2013年4月9日 發佈AIR 3 7版本 2013年7月24日 發佈AIR 3 8版本 2013年10月8日 發佈AIR 3 9版本 2013年10月30日 發佈AIR 4 0版本 2014年4月8日 發佈AIR 13 0版本 2014年6月10日 發佈AIR 14 0版本 2014年9月9日 發佈AIR 15 0版本 2014年11月11日 發布AIR 16 0版本 Beta 全面支援win8 64位元 android 5 0 ios 8 2015年1月22日 發布AIR 16 0版本 正式版 全面支援win8 64位元 android 5 0 ios 8 2015年2月4日 發布AIR 17 0版本 Beta 強化支援3D特效與其他視訊效果 並優化效率 2015年4月14日 發布AIR 17 0 0 171版本 正式版 2015年4月22日 發布AIR 18 0版本 Beta 3D功能擴充 優化IOS效率20 2015年5月13日 開源團隊開啟支援linux ubuntu計畫 2015年7月8日 發佈AIR 18 0版本 2015年9月21日 發佈AIR 19 0版本 增加安全性和增加IOS支援 2015年11月18日 發佈AIR 20 0 Beta 版本 增加android TV 等跨平台 TV 支援技術研發 2016年6月16日 發佈AIR 21 0版本 強化視訊和攝影機路線規劃 高畫質處理 效能優化和移動平台相關開發 語言 编辑語法 编辑 在ActionScript 2 0裡 函式館物件 如影片片段 按鈕 可與類聯繫在一起 類可寫在外在文件檔案內 並且這些文件必須有 as後綴 類是增設部分 對ActionScript語言來說 可讓程式員自行開發 雖然有許多內建類譬如MovieClip類 可被用來動態地在螢幕上畫出向量 已經滿足需求了 類檔案可使編程更加容易 並且類檔案如果需要的話可在許多專案間轉移 Flash ActionScript實現的特點如下 JavaScript程式員也許感興趣 一切設計是非同步的 回调函数是普遍存在的 但事件對象不存在 XML的實現從Flash 5便存在了 Flash可送和收XML 該項功能可用來透過網路伺服器創造網上多玩者遊戲 ActionScript代碼常常直接寫在Flash開發環境 該環境提供參考 代碼提示和句法強調 原代碼常常與電影一起存在 fla檔案裡 自外部文件檔透過 include語法導入ActionScript代碼也相當常見 在這種情況下 外部檔案也許被Flash整合開發環境內建編譯器 或Motion Twin ActionScript2編譯器 MTASC 編譯 评价 编辑 編程人員們說Macromedia ActionScript 2 0編譯器有點慢 常常花好幾分鐘才編譯100個類別 然而開放源碼編譯器MTASC可以利用 它快多了 ActionScript2 0 非常寬大的語法常常讓編程人員們皺眉 因為它常常讓不乾淨代碼難以閱讀 ActionScript 3 0的型別綁定改善了此缺點 在Flash裡使用許多向量圖形可能拖慢執行許多應用程序的機器的效能 因為Flash每幀每幀重畫每個向量圖 Flash 8引進了cacheAsBitmap變數 它暫時把向量圖轉換到點陣圖 這種做法幫助降低了延滯 Flash的ActionScript VM傾向在觸發內部的暫停處理前就非常快達到它的運算極限 特別在麥金塔版的Flash播放器上更嚴重 例如 簡單從1算到5000會威脅某些用戶Flash播放器的能力 在Flash 8裡許多人不喜歡引入 import 某些類直到要用到那些類別前最後一刻 不幸的是 ActionScript 3 0相當倚賴引入類別 沒有導入撰寫腳本 scripting 實際上不太可能 swf檔案格式容易被反編譯 使它非常難以保持原碼的隱密性 在日後的發展由於發布後為原生語言結構此問題已不復存在 加上app的平台有自己的加密方式更加的解決所有語言都有的這難題 來源請求 示例 编辑ActionScript 2 0樣本 编辑 下面列印Hello World 值得注意的是這只能在整合環境下執行 因為trace函式只有支援整合環境 trace Hello world 下面代碼利用onMouseMove事件當滑鼠移動時輸出現行滑鼠位置 同樣的這只有在整合環境下執行 onMouseMove function trace X root xmouse trace Y root ymouse 這個較先進的範例創造一個包括數字與字串的陣列 並利用原形函式 prototype function 與函式遞歸給變數名num指定一個數 給變數str指定一個字串 然後 利用MovieClip應用程序介面 文字區域被顯示在屏幕上 文字區域裡頭寫入了變數值 var my Array Array new Array Hello ActionScript 3 7 11 Flash Array prototype pickNumber function Number var rand Number random this length return typeof this rand number this rand this pickNumber Array prototype pickString function String var rand Number random this length return typeof this rand string this rand this pickString var num Number my Array pickNumber var str String my Array pickString root createTextField txt 1 10 10 530 390 txt text Array my Array nRandom Number num nRandom String str ActionScript 3 0樣本 编辑 下面先進的Hello World程序目前需要在Flex 2 0公開Alpha測試版整合環境中編譯 package import flash text TextField import flash display MovieClip import flash filters DropShadowFilter public class HelloWorld extends MovieClip public function HelloWorld var shad DropShadowFilter new DropShadowFilter 2 45 0x000000 25 3 3 2 2 var txt TextField new TextField txt textColor 0 xFFFFFF txt filters shad txt width 120 txt x Math random 300 txt y Math random 300 txt selectable false txt text Hello World Math round txt x Math round txt y addChild txt ActionScript3 0 as3 0最重要的概念就是在效能方面的增進 平時所加入的任何事件都可以被監聽或從記憶體中移除 以下例子就是監聽與移除記憶體占用 這是as3 0最重要的基礎概念 bt1 addEventListener MouseEvent CLICK bt1 click function bt1 click e MouseEvent void 觸發的事件內容 該按紐監聽不需要時則remove掉 增加效能 bt1 removeEventListener MouseEvent CLICK bt1 click Starling GPU 開發樣本 编辑 導入 SWC 或相關 SDK 以後 在建構子內加入以下這段 便可啟用 GPU 高速框架開發相關 swf 或是跨平台軟體 5 6 7 var starling new Starling MainGame stage starling start 參見 编辑ECMAScript Lingo for Macromedia Director Macromedia Flash Scripting Macromedia参考资料 编辑 Standard ECMA 262 Ecma international org April 22 2013 原始内容存档于2015 12 30 ECMAScript ECMAScript April 22 2013 原始内容存档于2016年5月18日 Flash Player 11 Release Notes 2014 08 27 原始内容存档于2014 09 23 Flash Player 14 Release Notes 2014 08 27 原始内容存档于2014 10 03 Introducing Starling Adobe Developer Connection www adobe com 2019 08 31 原始内容存档于2019 08 31 Starling Features The Cross Platform Game Engine Gamua 2019 08 31 原始内容存档于2019 08 31 英语 Bose Juwal Starling game development essentials develop and deploy isometric turn based games using Starling Birmingham UK Packt Pub 2013 2019 08 31 ISBN 178398354X OCLC 870467587 原始内容存档于2019 09 19 外部連結 编辑維基教科書中的相關電子教程 ActionScript编程官方 API 页面存档备份 存于互联网档案馆 Macromedia實驗室 页面存档备份 存于互联网档案馆 Macromedia發展中技術資源站 英 取自 https zh wikipedia org w index php title ActionScript amp oldid 73097691, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。