久久综合色一综合色88欧美|久久er热在这里只有精品66|国产福利一区二区不卡|日本精品动漫二区三区

    1. <address id="l3apk"><var id="l3apk"><source id="l3apk"></source></var></address>

      Flash ActionScript常用的開發(fā)工具介紹

      時(shí)間:2017-05-02 16:40:55 AS3.0入門教程 我要投稿

      Flash ActionScript常用的開發(fā)工具介紹

        根據(jù)項(xiàng)目需求和可用資源,您可能希望使用幾個(gè)工具中的一個(gè)(或結(jié)合使用多個(gè)工具)來編寫和編輯 ActionScript 代碼。以下是由陽光網(wǎng)小編整理關(guān)于Flash ActionScript常用的開發(fā)工具介紹,希望大家喜歡!

        Flash ActionScript常用的開發(fā)工具

        Flash 創(chuàng)作工具

        除了創(chuàng)建圖形和動(dòng)畫的功能之外,Adobe Flash CS3 Professional 還包括處理 ActionScript代碼(附加到 FLA 文件中的元素的代碼,或僅包含 ActionScript 代碼的外部文件中的代碼)的工具。Flash 創(chuàng)作工具最適合于涉及大量的動(dòng)畫或視頻的項(xiàng)目,或者您希望自己創(chuàng)建大部分圖形資源的項(xiàng)目,尤其適合于用戶交互很少或者具有需要 ActionScript 的功能的項(xiàng)目。如果您希望在同一個(gè)應(yīng)用程序中既創(chuàng)建可視資源又編寫代碼,也可能會(huì)選擇使用 Flash創(chuàng)作工具來開發(fā) ActionScript 項(xiàng)目。如果您希望使用預(yù)置的用戶界面組件,但 SWF 較小或便于設(shè)置可視外觀是項(xiàng)目的主要考慮因素,那么您也可能會(huì)選擇使用 Flash 創(chuàng)作工具。

        Adobe Flash CS3 Professional 包括兩個(gè)編寫 ActionScript 代碼的工具:

        ■ “動(dòng)作”面板:在 FLA 文件中工作時(shí)可用,該面板允許您編寫附加到時(shí)間軸上的幀的 ActionScript 代碼。

        ■ “腳本”窗口:“腳本”窗口是專門用于處理 ActionScript (.as) 代碼文件的文本編輯器。

        Flex Builder

        Adobe Flex Builder 是創(chuàng)建帶有 Flex 框架的項(xiàng)目的首選工具。除了可視布局和 MXML 編輯工具之外, Flex Builder 還包括一個(gè)功能完備的 ActionScript 編輯器,因此可用于創(chuàng)建Flex 或僅包含 ActionScript 的項(xiàng)目。Flex 應(yīng)用程序具有以下幾個(gè)優(yōu)點(diǎn):包含一組內(nèi)容豐富的預(yù)置用戶界面控件和靈活的動(dòng)態(tài)布局控件,內(nèi)置了用于處理外部數(shù)據(jù)源的機(jī)制,以及將外部數(shù)據(jù)鏈接到用戶界面元素。但由于需要額外的代碼來提供這些功能,因此 Flex 應(yīng)用程序的 SWF 文件可能比較大,并且無法像 Flash 應(yīng)用程序那樣輕松地完全重設(shè)外觀。如果希望使用 Flex 創(chuàng)建功能完善、數(shù)據(jù)驅(qū)動(dòng)且內(nèi)容豐富的 Internet 應(yīng)用程序,并在一個(gè)工具內(nèi)編輯 ActionScript 代碼,編輯 MXML 代碼,直觀地設(shè)置應(yīng)用程序布局,則應(yīng)使用 FlexBuilder。

        第三方 ActionScript 編輯器

        由于 ActionScript (.as) 文件存儲為簡單的文本文件,因此任何能夠編輯純文本文件的程序都可以用來編寫 ActionScript 文件。除了 Adobe 的 ActionScript 產(chǎn)品之外,還有幾個(gè)擁有特定于 ActionScript 的功能的第三方文本編輯程序。您可以使用任何文本編輯程序來編寫MXML 文件或 ActionScript 類。然后,可以使用 Flex SDK(包括 Flex 框架類和 Flex 編譯器)來基于這些文件創(chuàng)建 SWF 應(yīng)用程序(Flex 或僅包含 ActionScript 的應(yīng)用程序) ;蛘,很多開發(fā)人員也可以使用第三方 ActionScript 編輯器來編寫 ActionScript 類,并結(jié)合使用 Flash 創(chuàng)作工具來創(chuàng)建圖形內(nèi)容。

        在以下情況下,您可以選擇使用第三方 ActionScript 編輯器:

        ■ 您希望在單獨(dú)的程序中編寫 ActionScript 代碼,而在 Flash 中設(shè)計(jì)可視元素。

        ■ 將某個(gè)應(yīng)用程序用于非 ActionScript 編程(例如,創(chuàng)建 HTML 頁或以其它編程語言構(gòu)建應(yīng)用程序),并希望將該應(yīng)用程序也用于 ActionScript 編碼。

        ■ 您希望使用 Flex SDK 而不用 Flash 和 Flex Builder 來創(chuàng)建僅包含 ActionScript 的項(xiàng)目或 Flex 項(xiàng)目。

        有一些提供特定于 ActionScript 的支持的代碼編輯器值得注意,其中包括:

        ■ Adobe Dreamweaver® CS3

        ■ ASDT

        ■ FDT

        ■ FlashDevelop

        ■ PrimalScript

        ■ SE|PY

        ■ Xcode (帶有 ActionScript 模板和代碼提示文件)

        flash ActionScript快速入門

        (1)特色

        ActionScript 3.0包括二部分:核心語言和Flash Player API。核心語言用于定義編程語言的基本結(jié)構(gòu), 比如聲明變量,創(chuàng)建表達(dá)式控制程序結(jié)構(gòu)和數(shù)據(jù)類型等。Flash Player API是由一系列用于實(shí)現(xiàn)特定功能的flash player類組成。

        第2章 AS3.0編程語言基礎(chǔ)

        (1)語法、數(shù)據(jù)、變量、運(yùn)算符和語句構(gòu)成了編程語言的基礎(chǔ)

        (2)作用域

        變量即使在for作用域中也不可重復(fù)

        (3)默認(rèn)值

        Boolean型變量的默認(rèn)值是:false。

        int型變量的默認(rèn)值是:0。

        Number型變量的默認(rèn)值是:NaN。

        Object型變量的默認(rèn)值是:null。

        String型變量的默認(rèn)值是:null。

        uint型變量的默認(rèn)值是:0。

        *型變量的默認(rèn)值是:undefined。

        (4)兩種數(shù)據(jù)類型(注意:沒有包裝類概念)

        基元型數(shù)據(jù)類型:Boolean、int、Number、String和uint。

        復(fù)雜型數(shù)據(jù)類型:Array、Date、Error、Function、RegExp、XML和XMLList。

        (5)數(shù)據(jù)類型檢查

        它默認(rèn)的是執(zhí)行時(shí)進(jìn)行數(shù)據(jù)類型檢查。同時(shí)它也在適合使用“嚴(yán)格模式”的編譯器在編譯時(shí)執(zhí)行數(shù)據(jù)類型檢查。在使用嚴(yán)格模式的編譯器中,數(shù)據(jù)類型檢查既可以在執(zhí)行前執(zhí)行編譯器檢查,也可以在運(yùn)行時(shí)執(zhí)行運(yùn)行時(shí)檢查。在標(biāo)準(zhǔn)模式下,只支持默認(rèn)的執(zhí)行時(shí)數(shù)據(jù)類型檢查。

        比如說在程序編寫過程中,要明確傳遞變量值的類型和接受參數(shù)類型相同。(嚴(yán)謹(jǐn)模式:但允許隱式轉(zhuǎn)換)

        (6)*

        使用*作為類型注釋與不使用類型注釋等效。從無類型屬性中讀取的表達(dá)式可視為無類型表達(dá)式。該說明符主要用于兩個(gè)方面:將數(shù)據(jù)類型檢查延緩到運(yùn)行時(shí)和將undefined存儲在屬性中

        (7)

        使用表達(dá)式來表達(dá)想要達(dá)到的效果,使用運(yùn)算符來進(jìn)行相關(guān)的運(yùn)算,這就是數(shù)據(jù)運(yùn)算的關(guān)鍵。

        第3章 AS3.0程序設(shè)計(jì)

        (1)for in /for each in

        for..in和for each..in語句都可以用于循環(huán)訪問對象屬性或數(shù)組元素。下面分別使用兩種語句來訪問對象中的屬性。代碼如下所示。

        //定義一個(gè)對象lzxt,并添加屬性name和age

        var lzxt:Object = {name:"浪子嘯天", age:30};

        //執(zhí)行遍歷操作

        for (var i:String in lzxt) {

        //輸出屬性名稱和屬性值

        trace("for in 語句輸出:"+i + ": " + lzxt[i]);

        }

        //執(zhí)行for each遍歷操作

        for each (var k:String in lzxt) {

        //輸出屬性值

        trace("for each 語句輸出:"+k);

        }

        第4章 函數(shù)

        (1)定義

        函數(shù)在程序設(shè)計(jì)的過程中,是一個(gè)革命性的創(chuàng)新。利用函數(shù)編程,可以避免冗長、雜亂的代碼;利用函數(shù)編程,可以重復(fù)利用代碼,提高程序效率;利用函數(shù)編程,可以便利的修改程序,提高編程效率。

        函數(shù)(Function)的準(zhǔn)確的定義為:執(zhí)行特定任務(wù),并可以在程序中重用的代碼塊。

        (2)另種

        “方法”和“函數(shù)閉包”。具體是將函數(shù)稱為方法還是函數(shù)閉包,取決于定義函數(shù)的上下文。

        作為閉包屬于函數(shù)類型,必須新定義后使用

        (3)

        在ActionScript 3.0 中,所有的參數(shù)均按引用傳遞,因?yàn)樗械闹刀即鎯閷ο;蛿?shù)據(jù)是不變的對象,按按值還是按引用的效果一樣,通?梢钥醋魇前粗祩鬟f。按值傳遞,就是指參數(shù)被傳遞給函數(shù)后,被傳遞的變量就獨(dú)立了。若在函數(shù)中改變這個(gè)變量,原變量不會(huì)發(fā)生任何的變化。

        (4)默認(rèn)參數(shù)

        function(參數(shù)1:參數(shù)類型=默認(rèn)值,參數(shù)2:參數(shù)類型=默認(rèn)值)

        (5)arguments 對象和...(rest) 參數(shù)

        arguments 對象是一個(gè)數(shù)組,其中按順序保存著傳遞給函數(shù)的所有參數(shù)?梢允褂脭(shù)組的訪問方式來訪問傳入的參數(shù)。它有一個(gè)length屬性記錄當(dāng)前傳入的參數(shù)數(shù)目;還有一個(gè)屬性callee提供對函數(shù)本身的引用,該引用可用于遞歸調(diào)用函數(shù)表達(dá)式。

        ...(rest)參數(shù)是ActionScript3.0引入的新參數(shù)聲明。使用該參數(shù)可指定一個(gè)自己命名的數(shù)組參數(shù)來接受任意多個(gè)以逗號分隔的參數(shù)。

        第5章 事件的發(fā)送和處理

        (1)改進(jìn)

        對比ActionScript 2.0,ActionScript 3.0的事件處理體系具有以下幾個(gè)新特點(diǎn):

        在ActionScript 3.0中,只能使用addEventListener()注冊偵聽器。

        在ActionScript 3.0中,可以對屬于事件流一部分的任何對象調(diào)用addEventListener()方法。

        在ActionScript 3.0中,只有函數(shù)或方法可以是事件偵聽器。

        (2)Event類---事件對象

        事件對象作用

        一是將事件信息儲存在一組屬性中,來代表具體事件;(事件屬性:靜態(tài)方法)

        二是包含一組方法,用于操作事件對象和影響事件處理系統(tǒng)的行為。(事件方法)

        在Flash播放器的應(yīng)用程序接口中,有一個(gè)Event類,作為所有事件對象的基類,也就是說,程序中所發(fā)生的事件都必須是Event類或者其子類的`實(shí)例。

        Event類公開的屬性有:type、cancelable、target、currentTarget、eventphase、bubles。

        1.type屬性:每個(gè)事件對象都有關(guān)聯(lián)的事件類型。事件類型存儲以字符串的形式存儲在Event.type屬性中。利用事件類型,可以區(qū)分不同類型的事件。

        2.cancelable屬性:事件的默認(rèn)行為是否可以被阻止由布爾值表示,并存儲在Event.cancelable屬性中。此屬性時(shí)一個(gè)布爾值,默認(rèn)為flase。這個(gè)屬性一般是和preventDefault()方法結(jié)合在一起使用的。

        3.target屬性:target屬性用于存儲對事件目標(biāo)的引用。

        4.其它屬性:currentTarget、eventphase和bubbles這三個(gè)屬性都是和ActionScript3的事件流機(jī)制有關(guān),在平時(shí)用到的不多。

        Event類的方法有7種:clone()、toString()、stopPropogation()、stopImmediatePropogation()、preventDefault()、isDefaultPrevented()和formatToString()。這些方法的用途如下:

        Event.clone()方法用于賦值Event子類實(shí)例,返回Event對象原始實(shí)例的副本。當(dāng)需要自定義Event子類時(shí),就必須要繼承Event.clone()方法,用于賦值自定義類的屬性。另外還要加上新的屬性,否則在偵聽器重寫調(diào)用時(shí),這些屬性的值會(huì)出現(xiàn)錯(cuò)誤。

        Event.toString()屬性返回一個(gè)包含Event對象的所有屬性的字符串。如果要自定義事件類,那么重寫toString()方法時(shí),可以使用

        formatToString()這個(gè)方法在返回的字符串中加入新的事件實(shí)例屬性。

        Event.stopPropogation()方法可阻止事件對象移動(dòng)到下一個(gè)節(jié)點(diǎn),但只有在允許執(zhí)行當(dāng)前節(jié)點(diǎn)上的任何其它事件偵聽器之后才起作用。

        Event.stopImmediatePropogation()方法也阻止事件對象移動(dòng)到下一個(gè)節(jié)點(diǎn),但不允許執(zhí)行當(dāng)前節(jié)點(diǎn)上的任何其它事件偵聽器。

        Event.preventDefault()和Event.isDefaultPrevented()和Event.cancelable屬性結(jié)合使用,用于取消事件的默認(rèn)行為的發(fā)生。

        (3)Event類的子類

        Event類中的屬性無法捕獲其它事件具有的獨(dú)特的特性

        ActionScript 3.0的應(yīng)用程序接口特意為這些具有顯特征的事件準(zhǔn)備了Event類的幾個(gè)子類。這些子類主要包括:

        鼠標(biāo)類:MouseEvent。

        鍵盤類:KeyBoardEvent。

        時(shí)間類:TimerEvent。

        文本類:TextEvent。

        (4)事件監(jiān)聽函數(shù)

        是事件的處理者,負(fù)責(zé)接受事件攜帶的信息,并在接受到該事件之后執(zhí)行事件處理函數(shù)體內(nèi)的代碼。

        添加事件偵聽的過程有兩步:

        第一步是創(chuàng)建一個(gè)事件偵聽函數(shù),

        function 偵聽器名稱(evt:事件類型):void{…}

        語法格式說明如下:

        偵聽器名稱:要定義的事件偵聽器的名稱,命名需符合變量命名規(guī)則。

        evt:事件偵聽器參數(shù),必需。

        事件類型:Event類實(shí)例或其子類的實(shí)例。

        void:返回值必須為空,不可省略。

        第二步是使用addEventListener()方法在事件目標(biāo)或者任何的顯示對象上注冊偵聽器函數(shù)。

        管理事件監(jiān)聽器

        在ActionScript3.0中使用IEventDispatcher接口的方法來管理偵聽器函數(shù),主要用于注冊、檢查和刪除事件偵聽器。

        1.注冊事件偵聽器:addEventListener()函數(shù)用來注冊事件偵聽函數(shù)。注冊偵聽器的語法格式如下:

        事件發(fā)送者.addEventListener(事件類型,偵聽器);

        2.刪除事件偵聽器:removeEventListener()函數(shù)用來刪除事件偵聽器函數(shù)。刪除偵聽器的語法格式如下:

        事件發(fā)送者.removeEventListener(事件類型,偵聽器);

        3.檢查事件偵聽器:HasEventListener()方法和willTragger()方法,都可以用來檢測當(dāng)前的事件發(fā)送者注冊了何種事件類

        型的偵聽器。

        檢查事件偵聽器語法格式如下:

        事件發(fā)送者.hasEventListener(事件類型);

        (5)事件處理類型

        ActionScript3.0使用單一事件模式來管理事件,所有的事件都位于flash.events包內(nèi),其中構(gòu)建了20多個(gè)Event類的子類,用來管理相關(guān)的事件類型。

        ActionScript3.0中,統(tǒng)一使用MouseEvent類來管理鼠標(biāo)事件。在使用過程中,無論是按鈕還是影片事件,統(tǒng)一使用addEventListener注冊鼠標(biāo)事件(關(guān)聯(lián)事件--發(fā)送者--處理者)。此外,若在類中定義鼠標(biāo)事件,則需要先引入(import)flash.events.MouseEvent類。

        MouseEvent類定義了10中常見的鼠標(biāo)事件,具體如下:

        CLICK:定義鼠標(biāo)單擊事件 DOUBLE_CLICK:定義鼠標(biāo)雙擊雙擊事件

        MOUSE_DOWN:定義鼠標(biāo)按下事件 MOUSE_MOVE:定義鼠標(biāo)移動(dòng)事件

        MOUSE_OUT:定義鼠標(biāo)移出事件 MOUSE_OVER:定義鼠標(biāo)移過事件

        MOUSE_UP:定義鼠標(biāo)提起事件 MOUSE_WHEEL:定鼠標(biāo)滾軸滾動(dòng)觸發(fā)事件

        ROLL_OUT:定義鼠標(biāo)滑入事件 ROLL_OVER:定義鼠標(biāo)滑出事件

        鍵盤操作也是Flash用戶交互操作的重要事件。在ActionScript 3.0中使用KeyboardEvent類來處理鍵盤操作事件。它有兩種類型的鍵盤事件:KeyboardEvent.KEY_DOWN 和 KeyboardEvent.KEY_UP。

        KeyboardEvent.KEY_DOWN:定義按下鍵盤時(shí)事件

        KeyboardEvent.KEY_UP:定義松開鍵盤時(shí)事件

        注意:在使用鍵盤事件時(shí),要先獲得它的焦點(diǎn),如果不想指定焦點(diǎn),可以直接把stage作為偵聽的目標(biāo)。

        在ActionScript3.0中使用Timer類來取代ActionScript之前版本中的setinterval()函數(shù)。而執(zhí)行對Timer類調(diào)用的事件進(jìn)行管理的是TimerEvent事件類。要注意的是,Timer類建立的事件間隔要收到SWF文件的幀頻和Flash Player的工作環(huán)境(比如計(jì)算機(jī)的內(nèi)存的大小)的影響,會(huì)造成計(jì)算的不準(zhǔn)確。

        Timer類有兩個(gè)事件,分別為:

        TimerEvent.TIMER:計(jì)時(shí)事件,按照設(shè)定的事件發(fā)出。

        TimerEvent.TIMER_COMPLETE:計(jì)時(shí)結(jié)束事件,當(dāng)計(jì)時(shí)結(jié)束時(shí)發(fā)出

        幀循環(huán)ENTER_FRAME事件是ActionScript 3.0中動(dòng)畫編程的核心事件。該事件能夠控制代碼跟隨Flash的幀頻播放,在每次刷新屏幕時(shí)改變顯示對象。

        使用該事件時(shí),需要把該事件代碼寫入事件偵聽函數(shù)中,然后在每次刷新屏幕時(shí),都會(huì)調(diào)用Event. ENTER_FRAME事件,從而實(shí)現(xiàn)動(dòng)畫效果。


      【Flash ActionScript常用的開發(fā)工具介紹】相關(guān)文章:

      1.Flash ActionScript3.0簡介

      2.Flash ActionScript3.0高級教程全集

      3.如何利用Flash Builder創(chuàng)建ActionScript項(xiàng)目

      4.★Flash ActionScript3.0運(yùn)算符

      5.Flash ActionScript3.0快速入門教程

      6.Flash ActionScript3.0入門教程全集

      7.「Flash ActionScript3.0經(jīng)典入門教程」-全九集-ActionScript教

      8.Flash ActionScript3.0存在的兼容性問題