中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 多媒體制作 > Flash ActionScript 2.0 基礎(chǔ)教程
Flash MX 2004 video 回到列表 flash 打開我的文檔等特殊文件夾
 Flash ActionScript 2.0 基礎(chǔ)教程

作者:egoldy 時(shí)間: 2005-02-27 文檔類型:翻譯 來自:WebStudio

第 1 頁 Flash ActionScript 2.0 基礎(chǔ)教程 [1]
第 2 頁 Flash ActionScript 2.0 基礎(chǔ)教程 [2]

ActionScript 2.0--動(dòng)態(tài)類VS靜態(tài)類

動(dòng)態(tài)類允許動(dòng)態(tài)的對類進(jìn)行擴(kuò)展(例如允許加入新的屬性或方法)。象Jscript.NET程序中這種方式稱為expando,如果類不是動(dòng)態(tài)類(象Math類)用戶不能加入新的屬性和方法。而在as1中這其實(shí)是很平常的事。就象下面這樣為MOVIECLIP加入新的屬性和方法:

movieClip.protoType.someNewMethed=function(){
   一些方法;
}

在as2中這種擴(kuò)展方式是不允許的。然而我可能通過創(chuàng)建子類的方式加入新的屬性和方法。

下面的例子是我們要擴(kuò)展靜態(tài)類Math中的Max()方法.我們要新將其擴(kuò)展為在一些數(shù)中求出最大的數(shù)而不是原先那樣只限定在兩個(gè)數(shù)中求出最大的數(shù)。

dynamic class Math2 extends Math {
   // store a reference to Math.max()
   private static var oMax:Function = Math.max;   // static class cannot be instantiated
   private function Math2() {}
      // override Math.max(), support any number of arguments
      public static function max():Number {
         var a:Array = arguments;
         var n:Number = a.length;
         if (n > 2) {
            var m:Number = oMax(a[n-2],a[n-1]);
            // remove two elements from the end of the array;
            // could use 'a.length -= 2' as a shortcut as well
            a.pop();
            a.pop();
            a.push(m);
            return Number(max.apply(null, a));
         } else if (n == 2) {
            return oMax(a[0],a[1]);
         } else if (n == 1) {
            return a[0];
         } else {
            return oMax();
         }
   }
}

不象原有的類那樣,現(xiàn)在我們已經(jīng)對其MAX()方法進(jìn)行了擴(kuò)展將其變成了動(dòng)態(tài)類。并且形成了新的類名為math2.

現(xiàn)在可以試一下了。

trace(Math2.max(70,6,3,12,82,9,28,5));

ActionScript 2.0--繼承

正如前面提到過的。繼承對于OOP編程是很重要的盡管它不是絕對的需要。它用來定義子類與超類之間的關(guān)系。AS2為實(shí)現(xiàn)這一目的設(shè)置了一個(gè)新的關(guān)鍵詞:extends.在上一例中的Math2中我們已經(jīng)使用的了extends這一關(guān)鍵字繼承Math類。它還是比較簡單的。

在構(gòu)造函數(shù)時(shí)首先應(yīng)注意的是super()關(guān)建字。它的作用是調(diào)用超類的構(gòu)造函數(shù),如果你之前沒有在超類中構(gòu)造函數(shù)那么FLASH會(huì)自動(dòng)生成一個(gè)空的構(gòu)造函數(shù)。

值得欣慰的是許多BUG在新版的flash player7中已經(jīng)被修復(fù)。但在FLASHPLAY6仍有bug的問題,如果你不太清楚,可能查看AS1中有關(guān)繼承bug的相關(guān)列表文章。

如果你想要從子類傳遞參數(shù)給你的超類,你應(yīng)確保在你的超類中已有了這些參數(shù)的聲明。否則你會(huì)發(fā)現(xiàn)為什么只有部分的參數(shù)被傳遞。如我們要?jiǎng)?chuàng)建一個(gè)子類名為Child,它繼承自他的父類。我們應(yīng)在構(gòu)造函數(shù)中這樣寫:

class Child extends Parent {
   private var fName:String = "";
   public function Child(lname:String, fname:String) {
      super(lname);
      // continue Child's constructor code
      fName = fname;
   }
}

ActionScript 2.0--導(dǎo)入外部的類文件

為了更好的組織類和避免類名稱的沖突.被許多語言應(yīng)用的概念包被引入.ActionScript 2.0引入包就是為了解決這個(gè)問題.

類名稱的沖突是指什么呢?我們假想有兩個(gè)開發(fā)人員,每個(gè)人都建立了一個(gè)代碼庫.在庫中都有一個(gè)名為utility的類.如果這兩個(gè)代碼庫合在一起使用,這時(shí)就會(huì)造成flash的混亂,不知使用哪一個(gè)庫中的類.

這時(shí)類路徑及來出來挽救,通過將路徑合并到類名稱中.就象是硬盤中的文件一樣,在不同的目錄中可以有相同的文件存在.要指明引用哪一個(gè)類.要在導(dǎo)入過程中使用正確的類路徑.如:

import mx.events.Eventdesign;

一旦類被導(dǎo)入,我們在引用類時(shí)就可能只接使用類名稱而不需要使用類的路徑了.

class MyBroadcaster {
   public function MyBroadcaster() {
       EventDesign.initialize(this);
   }
}

當(dāng)然,你也可以不用導(dǎo)入的方式,而是在每次使用時(shí)都指明類的正確路徑.可這樣做會(huì)使人很煩的.當(dāng)多次使用時(shí)要不斷的輸入重復(fù)的東西.

class MyBroadcaster {
   public function MyBroadcaster() {
      mx.events.EventDesign.initialize(this);
   }
}

當(dāng)在創(chuàng)建自已的類時(shí),將你的類放在一個(gè)指定的項(xiàng)目目錄中,或是放在一個(gè)公共的類庫中,而不要將其放在

<Flash install folder>\<language>\First Run\Classes\) 或<drive>:\Documents and Settings\<user>\Local Settings\Application Data\Macromedia\Flash MX 2004\<language>\Configuration\Classes\).

這樣做可以使執(zhí)行同步同時(shí)減少編譯時(shí)錯(cuò)誤的出現(xiàn).一種公用的方法是使用你的反面的域名作為類的路徑如

import com.quantumwave.alliance.rebel.Commander;

如果要導(dǎo)入路徑中的所有類.使用通配符*,如下:

import com.quantumwave.*

這一步導(dǎo)入將導(dǎo)入com.quantumwave下的所有的類但在編譯時(shí)只編譯使用到的類,所以你不必?fù)?dān)心導(dǎo)入所有的類會(huì)增大你文件的大小.

ActionScript 2.0--接口

當(dāng)在使用OOP時(shí),除了繼承比較重要之外,在就是接口了.就像JAVA和C#,ActionScript不提供多重繼承(如一個(gè)子類可繼承多個(gè)超類),這是因?yàn)槿绻褂貌划?dāng)在調(diào)試時(shí)就會(huì)象做了一場惡夢一樣.會(huì)造成死循環(huán)和粘連不清的情況,在精心設(shè)計(jì)你的項(xiàng)目時(shí),使用接口可以同樣達(dá)到多重繼承的效果,而不會(huì)出現(xiàn)上面說的那種很麻煩的情況.

一個(gè)接口就象是各類在執(zhí)行方法時(shí)的一種協(xié)議,而通常在各個(gè)類未執(zhí)行方法時(shí)是沒有聯(lián)系的.在接口中沒有代碼沒有屬性,只有方法,它的書寫方式完全就象是在書寫一個(gè)類一樣,除了: 

   1.它們都沒有屬性 

   2.它們只有方法的標(biāo)記,參數(shù),類型和返回的類型 

   3.在方法定義的結(jié)尾只有小括號(hào)而沒有大括號(hào)

下面是一個(gè)可拖動(dòng)的類名為Dragable的范例(通常在命名接口時(shí)通常以大寫的"I"開頭).

interface IDraggable {
public function startDrag():Void;
public function stopDrag():Void;
public function isDragging():Boolean;
}

如果要使用Interface需要使用關(guān)鍵字implement.如下面的例子,child類繼承超類同時(shí)使用接口IDraggable.

class Child extends Parent implements IDraggable {
public function Child() {
// add Child constructor code
}

public function startDrag():Void {
// implement the code for startDrag();
}

public function stopDrag():Void {
// implement the code for stopDrag();
}

public function isDragging():Boolean {
// implement the code for isDragging();
}
}

唯一在使用接口時(shí)注意的事情是,在類中應(yīng)使用與接口中一樣的方法,參數(shù)類型的定義,通過這種方式接口可以在兩個(gè)不一樣的程序員之間標(biāo)準(zhǔn)化代碼,當(dāng)一個(gè)已知的接口被類使用時(shí),和序員只需知道接口以在不同的類中使用.

出處:WebStudio
責(zé)任編輯:藍(lán)色

上一頁 Flash ActionScript 2.0 基礎(chǔ)教程 [1] 下一頁

◎進(jìn)入論壇Flash專欄版塊參加討論

作者文章
Flash MX 2004 數(shù)據(jù)綁定
Flash dynamic mask 動(dòng)態(tài)遮罩
Flash MX 2004 video
Flash ActionScript 2.0 基礎(chǔ)教程
flash 打開我的文檔等特殊文件夾
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大福“敬•自然”設(shè)計(jì)大賽開啟
國際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡單繪制一個(gè)可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:2/21個(gè)記錄/頁 轉(zhuǎn)到 頁 共2個(gè)記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會(huì)員,你可以注冊 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報(bào)告錯(cuò)誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2