国产一精品一aⅴ一免费-国产一精品一av一免费-国产一精品一av一免费爽爽-国产一久久香蕉国产线看观看-国产一卡2卡3卡四卡高清-国产一卡二卡3卡4卡视频

當(dāng)前位置: 首頁 > 設(shè)計資訊 > 設(shè)計教程 > 正文

Flash AS3 相對于AS2 新的特性和改動

2006-08-05 2381 0

本文介紹了ActionScript 3 相對于 ActionScript 2 有哪些新的特性和改動。并在文章的最后一步步的教大家如何利用 Flex Builder 來編譯并運行第一個 AS3 程序。語法方面的增強和改動:

  • 引入了 package(包) 和 namespace(命名空間) 兩個概念。其中 package 用來管理類定義,防止命名沖突,而 namespace 則用來控制程序?qū)傩苑椒ǖ脑L問。
  • 新增內(nèi)置類型 int (32比特整數(shù)),uint(非負32比特整數(shù)),用來提速整數(shù)運算;
  • 新增 * 類型標(biāo)識,用來標(biāo)識類型不確定的變量,通常在運行時變量類型無法確定時使用。在 AS2 中這種情況下需要用 Object 賴作為類型表識;
  • 新增 is 和 as 兩個運算符來進行類型檢查。其中 is代替 AS2 中的 instanceof 來查詢類實例的繼承關(guān)系,而 as 則是用來進行不拋錯誤的類型轉(zhuǎn)換。
  • 新增 in 運算符來查詢某實例的屬性或其prototype中是否存在指定名稱的屬性。
  • 新增 for each語句來循環(huán)操作 Array 及 Object實例。
  • 新增 const 語句來聲明常量。
  • 新增 Bound Method 概念。當(dāng)一個對象的方法被付值給另外一個函數(shù)變量時,此函數(shù)變量指向的是一個 Bound Method,以保證對象方法的作用域仍然維持在聲明此方法的對象上。這相當(dāng)于 AS2 中的 mx.util.Delegate 類,在 AS3 中這個功能完全內(nèi)置在語言中,不需要額外寫代碼。
  • AS3 的方法聲明中允許為參數(shù)指定默認值(實現(xiàn)可選參數(shù))。
  • AS3 中方法如果聲明返回值,則必須明確返回。
  • AS2 中表示方法沒有返回值的 Void 標(biāo)識,在 AS3 中變更為 void。
OOP方面的增強

通過類定義而生成的實例,在 AS3 中是屬于 Sealed 類型,即其屬性和方法無法在運行時修改。這部分屬性在 AS2 中是通過類的 prototype 對象來存儲,而在 AS3 中則通過被稱為 Trait 的概念對象存儲管理,無法通過程序控制。這種處理方式一方面減少了通過 prototype 繼承鏈查找屬性方法所耗費的時間(所有父類的實現(xiàn)方法和屬性都會被直接復(fù)制到對應(yīng)的子類的 Trait 中),另一方面也減少了內(nèi)存占用量,因為不用動態(tài)的給每一個實例創(chuàng)建 hashtable 來存儲變量。如果仍然希望使用 AS2 中類實例在運行時的動態(tài)特性,可以將類聲明為 dynamic。api方面的增強

  • 新增 Display API,使 AS3 可以控制包括 Shape, Image, TextField, Sprite, MovieClip, Video, SimpleButton, Loader在內(nèi)的大部分 DisplayList 渲染單位。這其中 Sprite 類可以簡單理解為沒有時間軸的 MovieClip,適合用來作為組件等不需要時間軸功能的子類的基礎(chǔ)。而新版的 MovieClip 也比 AS2 多了對于 Scene(場景)和 Label(楨標(biāo)簽)的程序控制。另外,渲染單位的創(chuàng)建和銷毀通過聯(lián)合 new 操作符以及 addChild/removeChild 等方法實現(xiàn),類似 attachMovie 的舊方法已被舍棄,同時以后也無須去處理深度值。
  • 新增 DOM Event API,所有 在DisplayList 上的渲染單位都支持全新的三段式事件播放機制,以 Stage 為起點自上而下的播報事件到 target 對象(此過程稱為 Capture Phase),然后播報事件給 target 對象(此過程稱為 Target Phase),最后在自下而上的播報事件(此過程稱為 Bubbling Phase)。
  • 新增內(nèi)置的 Regular Expressions (正則表達式)支持,使 AS3 能夠高效地創(chuàng)建、比較和修改字符串,以及迅速地分析大量文本和數(shù)據(jù)以搜索、移除和替換文本模式。
  • 新增 ECMAScript for XML (E4X)支持。 E4X 是 AS3 中內(nèi)置的 XML 處理語法。在 AS3 中 XML 成為內(nèi)置類型,而之前的 AS2 版本 XML 的處理 api 轉(zhuǎn)移到 flash.xml.*包中,以保持向下兼容。
  • 新增 Socket類,允許讀取和寫入二進制數(shù)據(jù),使通過 AS 來解析底層網(wǎng)絡(luò)協(xié)議(比如 POP3, SMTP, IMAP, NNTP 等)成為可能,使 Flash Player 可以連接郵件服務(wù)器和新聞組。
  • 新增 Proxy 類來替代在 AS2 中的 Object.__resolve 功能。
  • 新增對于 Reflect (反射)的支持,相關(guān)方法在 flash.util.* 包中。
編寫第一個 AS3 程序

編譯 AS3 需要先安裝 Flex Builder 2(目前唯一支持 AS3 的 IDE),從 Adobe Labs 上下在最新版本的 Flex Builder。然后一路 Next 安裝成功之后,點擊快捷方式啟動 Flex Builder。(如圖一)

   

圖一 Flex Builder 2 啟動畫面

點選工具欄中的 New 按鈕,從彈出的菜單中選擇 ActionScript Project。(如圖二)

圖二 建立新的 ActionScript Project

在彈出的對話框中輸入 helloworld 作為項目名稱。然后按 Finish 確定。(如圖三)

圖三 輸入項目詳細信息

在新打開的 helloworld.as 文件中輸入下列代碼:(如圖四)

圖四 helloworld.as 代碼內(nèi)容

按 Ctrl+S 保存文件,然后從工具欄中點擊 run 按鈕運行程序。(如圖五)

圖五 運行程序

最終在瀏覽器中的運行效果如圖六:

圖六 helloworld 程序運行結(jié)果


21
評論區(qū)(0)
正在加載評論...
相關(guān)推薦
主站蜘蛛池模板: 91久久综合九色综合欧美亚洲 | 欧美成人怡红院在线观看 | 日韩视频在线一区 | 狠狠色丁香婷婷综合小时婷婷 | 日韩欧美高清一区 | 日韩伦理视频 | 大学生一级毛片高清版 | 免费观看呢日本天堂视频 | 狠狠色狠狠色综合日日32 | 日韩高清在线二区 | 最新福利在线 | 久久99色 | 秋霞伊人| 综合久久综合 | 久久免费视频在线观看30 | 国产精品久久99 | 欧美高清亚洲欧美一区h | 久久99精品福利久久久 | 日本不卡免费高清视频 | 久久草在线视频观看 | 模特精品一区二区三区 | 网站免费黄色 | 亚洲综合国产精品 | 亚洲一区综合在线播放 | 极品美女aⅴ高清在线观看 极品美女一级毛片 | 欧美操操操 | 搡女人免费的视频 | 秒播影视 午夜福利毛片 | 亚洲国产第一区二区香蕉 | 一级一片免费播放 | 国内精品小视频在线 | 伊人久久一本大道 | 不卡神马影院 | 国产一级特黄a大片免费 | 一区二区三区国产精品 | 99久久99久久精品免费看蜜桃 | 九九热九九 | 日韩字幕无线乱码 | 国产伦理一区二区三区 | 久久中文字幕久久久久 | 四虎综合网 |