AS代碼2.0:新的語言元素

來源:互聯網
上載者:User

  Flash的ActionScript(簡稱AS)代碼控制是Flash實現互動性的重要組成部分,也是區別於其他動畫軟體的看家本領。今年新發布的Flash MX Professional 2004的動作指令碼語言已經升級到2.0,它是一種物件導向的指令碼語言,執行ECMA-262指令碼語言規範,支援繼承、強型別和事件模型。使用動作指令碼語言2.0可以編寫出更加穩健的指令碼。

  動作指令碼語言2.0的新特性包括:新的語言元素、改進的編輯和調試工具、引入更多、的物件導向編程模型。

  本系列文章將向大家詳細介紹AS代碼2.0的各種新特性以及新的安全模型與舊版SWF檔案的變化關係。

  新的和有變化的語言元素

  Flash MX Pro 2004的動作指令碼語言2.0增加了一些新的語言元素,並對已有的語言元素做了有益的改進。(以下以字母排列為序)

  注意:要使用這些元素,必須在發布文檔時指定目標播放器為Flash 7播放器。

  (1) Array.sort()和Array.sortOn() 方法
  讓你添加參數來指定附加的排序選項,如按升序排序和按降序排序、排序時是否區分大小寫,等等。

  (2) Button.menu、MovieClip.menu和TextField.menu 屬性
  與新的ContextMenu和ContextMenuItem類協同工作,讓你能夠建立右鍵捷徑功能表選項與按鈕、電影剪輯或文字框對象之間的關聯。

  (3) ContextMenu 類和ContextMenuItem 類
  讓你能夠定製右鍵捷徑功能表。

  (4) Error類和throw與try..catch..finally 命令
  讓你能夠實施更加穩健的異常處理。

  (5) LoadVars.addRequestHeader()和XML.addRequestHeader() 方法
  可以添加和修改用POST方法發送的HTTP頭(如Content-Type或SOAPAction)。

  (6) MMExecute() 函數
  使你能夠從動作指令碼中發布Flash JavaScript API命令。

  (7) Mouse.onMouseWheel 事件
  (僅適用於Windows)當使用者使用滑鼠滾輪時產生Mouse.onMouseWheel事件接聽程式。

  (8) MovieClip.getNextHighestDepth() 方法
  讓你能夠在運行期建立電影剪輯執行個體,並能保證它們的對象在父電影剪輯的z軸空間中其它對象的前面渲染。MovieClip.getInstanceAtDepth()方法讓你能夠使用深度作為搜尋索引,訪問動態建立電影剪輯執行個體。

  (9) MovieClip.getSWFVersion() 方法
  讓你能夠確定載入的SWF檔案所支援的Flash播放器版本的。

  (10) MovieClip.getTextSnapshot() 方法和TextSnapshot 對象
  讓你能夠處理電影剪輯中靜態文字框的文本。

  (11) MovieClip._lockroot 屬性
  讓你能夠把某個電影剪輯指定為載入它裡面的任何電影剪輯的根電影剪輯(_root),或指定在某個_root電影剪輯被載入另一個電影剪輯時保持其_root屬性不變。

  (12) MovieClipLoader 類
  讓你能夠監測把檔案載入電影剪輯的進度。

  (13) NetConnection類和NetStream 類
  讓你能夠流式播放本地視頻檔案(FLV檔案)。

  (14) PrintJob 類
  讓你(和使用者)在Flash播放器中擁有更多的列印控制能力。

  (15) Sound.onID3 事件處理函數
  讓你能夠訪問包含MP3檔案的Sound(聲音)對象中的ID3資料。

  (16) Sound.ID3 屬性
  讓你能夠訪問作為MP3檔案的一部分的中繼資料。

  (17) System 類
  擁有新的對象和方法,且System.capabilities對象擁有幾種新的屬性。

  (18) TextField.condenseWhite 屬性
  讓你能夠刪除在瀏覽器中渲染的HTML文字框中的多餘空格。

  (19) TextField.mouseWheelEnabled 屬性
  讓你能夠指定當滑鼠指標位於文字框中且使用者滾動滑鼠滾輪時,文字框的內容是否應該滾動。

  (20) TextField.StyleSheet 類
  讓你能夠建立包含文字格式設定化規則(如字型大小、顏色和其他格式樣式)的樣式表對象。

  (21) TextField.styleSheet 屬性
  讓你能夠把一個樣式表對象指派給文字框。

  (22) TextFormat.getTextExtent() 方法
  接收一個新的參數,且它返回的對象包含一個新成員。

  (23) XML.addRequestHeader() 方法
  讓你能夠添加或改變用POST方法發送的HTTP要求標頭(如Content-Type或SOAPAction)。

  新的安全模型與舊版SWF檔案

  Flash播放器以前具有確定兩個域是否相同的規則,這一點在Flash 7播放器中已經改變。此外,決定來自於某個HTTP域的SWF檔案是否可以訪問、怎樣訪問來自HTTPS域的SWF檔案、從HTTPS域載入的資料的規則也已經改變。在大多數情況下,這些變化沒什麼影響,除非使用者特別針對Flash 7播放器匯出SWF檔案。

  但是,如果針對Flash 6播放器或更早版本的播放器發布SWF檔案,該檔案將從儲存在伺服器中的檔案載入資料,且如果該檔案在Flash 7播放器中播放,使用者可能會看到一個以前沒有出現過的對話方塊,詢問是否允許訪問。我們可以通過在儲存資料的網站中執行一個策略檔案來防止該對話方塊的顯示。

  如果你在使用運行期共用庫,也可能需要執行策略檔案。如果裝載或被裝載的SWF檔案是針對Flash 7播放器發布的,且二者並非來自完全相同的域,就要使用原則檔案來設定許可訪問。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。