ActionScript-3.0從入門到精通:第11章--顯示對象容器-(教學(xué)PPT下載)_第1頁
ActionScript-3.0從入門到精通:第11章--顯示對象容器-(教學(xué)PPT下載)_第2頁
ActionScript-3.0從入門到精通:第11章--顯示對象容器-(教學(xué)PPT下載)_第3頁
ActionScript-3.0從入門到精通:第11章--顯示對象容器-(教學(xué)PPT下載)_第4頁
ActionScript-3.0從入門到精通:第11章--顯示對象容器-(教學(xué)PPT下載)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第1111章章 顯示對象容器顯示對象容器 前兩章介紹到的對象都是二維概念的顯示對象。前兩章介紹到的對象都是二維概念的顯示對象。 ActionScript中有一類對象在二維空間的基礎(chǔ)上增加了中有一類對象在二維空間的基礎(chǔ)上增加了z軸軸 順序,雖然達不到順序,雖然達不到z軸坐標(biāo)的精確程度,也無法表現(xiàn)軸坐標(biāo)的精確程度,也無法表現(xiàn)3D空空 間效果,但是間效果,但是z軸順序的引入無疑也提高了顯示對象的表軸順序的引入無疑也提高了顯示對象的表 現(xiàn)力,這類對象被稱之為現(xiàn)力,這類對象被稱之為“顯示對象容器顯示對象容器”。通常。通常z軸順軸順 序也被稱之為深度。序也被稱之為深度。 在在z軸順序之外,如果再加上時間

2、這一個維度,顯示對象就軸順序之外,如果再加上時間這一個維度,顯示對象就 成為了一個四維對象,就可以表現(xiàn)對象的運動變化。成為了一個四維對象,就可以表現(xiàn)對象的運動變化。 ActionScript通過通過“時間軸時間軸”來描述時間維度。同時具有來描述時間維度。同時具有 深度和時間軸的是深度和時間軸的是MovieClip類,它也是使用最為廣泛的類,它也是使用最為廣泛的 顯示對象。顯示對象。 11.1 11.1 顯示對象容器概述顯示對象容器概述 顯示對象容器在顯示對象容器在ActionScript中是一個抽象類,稱為中是一個抽象類,稱為 DisplayObjectContainer。它不能被直接實例化,

3、但卻描。它不能被直接實例化,但卻描 述了子類的共同性質(zhì):深度。述了子類的共同性質(zhì):深度。DisplayObjectContainer的的 子類包括子類包括Loader、Sprite和和Stage。 顯示對象容器的命名非常形象,它就象一個真正的容器。其顯示對象容器的命名非常形象,它就象一個真正的容器。其 它顯示對象可以加載到容器中去,對容器進行操作,也它顯示對象可以加載到容器中去,對容器進行操作,也 同時會影響到容器內(nèi)的對象。例如,對容器進行變形或同時會影響到容器內(nèi)的對象。例如,對容器進行變形或 縮放時,它包含的對象也會一起變形或縮放。如果從顯縮放時,它包含的對象也會一起變形或縮放。如果從顯 示

4、列表中刪除容器,則它所包含的所有對象也會被刪除示列表中刪除容器,則它所包含的所有對象也會被刪除 。 顯示對象容器內(nèi)的顯示對象通過深度組織,每個對象獲得一顯示對象容器內(nèi)的顯示對象通過深度組織,每個對象獲得一 個索引值。這個值越小則顯示對象越靠下,越大則越靠個索引值。這個值越小則顯示對象越靠下,越大則越靠 上。視覺上,上面的對象會遮蓋住下面的對象。上。視覺上,上面的對象會遮蓋住下面的對象。 11.1.1 11.1.1 添加子對象添加子對象 顯示對象容器的概念始終圍繞著它所包含的子對象(顯示對象容器的概念始終圍繞著它所包含的子對象(child) ??梢允褂谩?梢允褂胊ddChild方法將子對象加載到

5、容器中,其語方法將子對象加載到容器中,其語 法如下。法如下。 容器容器.addChild(子對象子對象); 例如,以下代碼將一個名為例如,以下代碼將一個名為child的的Shape實例加載到名為實例加載到名為 container的的Sprite實例中。實例中。 var container:Sprite = new Sprite(); var child:Shape = new Shape(); container.addChild(child); 11.1.1 11.1.1 添加子對象添加子對象 注意:當(dāng)容器注意:當(dāng)容器container加載了子對象加載了子對象child后,容器和子對象后,容

6、器和子對象 都還處于無法顯示的狀態(tài)。需要把它們再都還處于無法顯示的狀態(tài)。需要把它們再“裝入裝入”舞臺舞臺 這個最大的容器中。即使用如下語句令舞臺加載這個最大的容器中。即使用如下語句令舞臺加載 container 。 stage.addChild(container); 在這一過程中,在這一過程中,stage是容器,而是容器,而container成了子對象。當(dāng)成了子對象。當(dāng) 舞臺加載了子對象后默認(rèn)顯示該對象,這就是我們學(xué)說舞臺加載了子對象后默認(rèn)顯示該對象,這就是我們學(xué)說 的的“加載到顯示列表加載到顯示列表”。而一般主時間線為文檔類的實。而一般主時間線為文檔類的實 例,因此在例,因此在Flash

7、CS3的主時間線上,加載到顯示列表的的主時間線上,加載到顯示列表的 代碼也??梢允÷缘貙憺橐韵聝煞N形式。代碼也??梢允÷缘貙憺橐韵聝煞N形式。 this.addChild(container); addChild(container); 11.1.2 11.1.2 子對象的深度子對象的深度 子對象的子對象的z軸順序表現(xiàn)為深度,深度可以認(rèn)為顯示對象容器軸順序表現(xiàn)為深度,深度可以認(rèn)為顯示對象容器 中各個對象的層疊順序。當(dāng)一個子對象使用中各個對象的層疊順序。當(dāng)一個子對象使用addChild方方 法加載到容器中時,法加載到容器中時,ActionScript自動為其分配一個索引自動為其分配一個索引 ,最先

8、加載子對象的索引為,最先加載子對象的索引為0,以后順次增加。索引較小,以后順次增加。索引較小 的對象會顯示在索引較大對象的下方。的對象會顯示在索引較大對象的下方。 例如,以下代碼中例如,以下代碼中container先加載先加載child1,再加載,再加載child2。 因此,因此,child1會顯示在會顯示在child2的下方。的下方。 container.addChild(child1); container.addChild(child2); 11.1.3 numChildren11.1.3 numChildren屬性屬性 一個顯示對象容器中有幾個子對象,就有幾個完全不同、由一個顯示對象容

9、器中有幾個子對象,就有幾個完全不同、由 0開始遞增的索引??梢允褂萌萜鞯拈_始遞增的索引。可以使用容器的childNum屬性取得子屬性取得子 對象的個數(shù),如下列代碼。對象的個數(shù),如下列代碼。 11.1.3 numChildren11.1.3 numChildren屬性屬性 當(dāng)已知當(dāng)已知numChildren時,子對象的索引順序就是由時,子對象的索引順序就是由0變化到變化到 (numChildren-1)。一般)。一般ActionScript會用會用numChildren 作為遍歷容器時的參數(shù)使用,如下列代碼。作為遍歷容器時的參數(shù)使用,如下列代碼。 如果如果numChildren值為值為0,則表示

10、當(dāng)前的容器中不含子對象,則表示當(dāng)前的容器中不含子對象 11.1.4 11.1.4 對深度索引的控制對深度索引的控制 ActionScript在加載時,除了默認(rèn)的加載順序外,也可以使在加載時,除了默認(rèn)的加載順序外,也可以使 用用addChildAt方法指定子對象的深度索引,其語法如下方法指定子對象的深度索引,其語法如下 。 容器容器.addChildAt(子對象子對象,索引索引); addChildAt可以自由指定加載子對象的索引值,可以指定新可以自由指定加載子對象的索引值,可以指定新 加載的子對象位于任意其他子對象之間。加載的子對象位于任意其他子對象之間。 11.1.5 11.1.5 刪除子對

11、象刪除子對象 從一個顯示對象容器中刪除子對象時使用從一個顯示對象容器中刪除子對象時使用removeChild或或 removeChildAt方法,其語法如下。方法,其語法如下。 容器容器. removeChild (子對象子對象); 容器容器. removeChildAt (索引索引); removeChild直接刪除參數(shù)指定的子對象,直接刪除參數(shù)指定的子對象,removeChildAt則會刪則會刪 除處于索引值深度的子對象。明確知道子對象時可以直接使用除處于索引值深度的子對象。明確知道子對象時可以直接使用 removeChild方法,有些情況無法了解具體加載到容器中的子方法,有些情況無法了解

12、具體加載到容器中的子 對象,則可以通過索引值將其刪除。對象,則可以通過索引值將其刪除。 例如,經(jīng)常使用以下的循環(huán)結(jié)構(gòu)刪除容器中的所有子對象。例如,經(jīng)常使用以下的循環(huán)結(jié)構(gòu)刪除容器中的所有子對象。 /只要當(dāng)前容器的子對象數(shù)不為只要當(dāng)前容器的子對象數(shù)不為0,即刪除索引,即刪除索引0處的子對象處的子對象 while(container.numChildren0) container.removeChildAt(0); 11.1.6 getObjectsUnderPoint11.1.6 getObjectsUnderPoint方法方法 getObjectsUnderPoint是顯示對象容器用于檢測是顯示

13、對象容器用于檢測“碰撞碰撞”的的 方法。它可以返回某一點上容器所有子對象(包括孫,方法。它可以返回某一點上容器所有子對象(包括孫, 曾孫)的數(shù)組結(jié)構(gòu)。其語法如下。曾孫)的數(shù)組結(jié)構(gòu)。其語法如下。 容器容器.getObjectsUnderPoint(點點); 說明:這里的說明:這里的“點點”指的是一個指的是一個Point實例。實例。 一般來說,鼠標(biāo)偵聽器的節(jié)點對象是處于最上層的顯示對象一般來說,鼠標(biāo)偵聽器的節(jié)點對象是處于最上層的顯示對象 。例如當(dāng)一個按鈕被另一個按鈕遮住時,將無法作為節(jié)。例如當(dāng)一個按鈕被另一個按鈕遮住時,將無法作為節(jié) 點對象接收事件。此時可以使用點對象接收事件。此時可以使用getO

14、bjectsUnderPoint方方 法,它將返回一個數(shù)組,包含所有位于指定點的對象。法,它將返回一個數(shù)組,包含所有位于指定點的對象。 11.2 Stage11.2 Stage類類 Stage類是一個非常有代表性,也是一個特殊的顯示對象容類是一個非常有代表性,也是一個特殊的顯示對象容 器。所有呈現(xiàn)在用戶面前的顯示對象都需要加載到舞臺器。所有呈現(xiàn)在用戶面前的顯示對象都需要加載到舞臺 之后才得以顯示。同時之后才得以顯示。同時Stage類也有其特殊性。類也有其特殊性。 11.2.1 11.2.1 獨一無二的獨一無二的stagestage Stage不同于一般的顯示對象或容器,它不能實例化,不可不同于

15、一般的顯示對象或容器,它不能實例化,不可 以使用以使用new Stage這樣的構(gòu)造函數(shù)。這是因為這樣的構(gòu)造函數(shù)。這是因為Flash在初始在初始 化時已經(jīng)建立了一個獨一無二的化時已經(jīng)建立了一個獨一無二的Stage實例實例stage(注意大(注意大 小寫)。一個小寫)。一個Flash影片同時只能有一個舞臺實例。影片同時只能有一個舞臺實例。 stage由于其存在的特殊性,所以一些屬性設(shè)置雖然能夠應(yīng)由于其存在的特殊性,所以一些屬性設(shè)置雖然能夠應(yīng) 用于普通的顯示對象容器中,但是卻不允許應(yīng)用于用于普通的顯示對象容器中,但是卻不允許應(yīng)用于stage 。 11.2.2 stage11.2.2 stage的全局

16、屬性的全局屬性 stage(Stage的唯一實例)具有多個屬性。通過設(shè)置這些屬的唯一實例)具有多個屬性。通過設(shè)置這些屬 性,可以影響整個性,可以影響整個Flash影片。以下我們介紹常用的幾個影片。以下我們介紹常用的幾個 全局屬性。全局屬性。 frameRate屬性:屬性: frameRate屬性可以獲取或設(shè)置舞臺的幀頻,它能夠接受的屬性可以獲取或設(shè)置舞臺的幀頻,它能夠接受的 有效數(shù)字從有效數(shù)字從0.01到到1000。新建。新建Flash文件的幀頻為文件的幀頻為12fps, 如果要求較好的動畫效果,一般會設(shè)置為如果要求較好的動畫效果,一般會設(shè)置為24,30甚至甚至60 不等。由于內(nèi)部刷新機制的影

17、響,幀頻一般來說并不穩(wěn)不等。由于內(nèi)部刷新機制的影響,幀頻一般來說并不穩(wěn) 定。有時應(yīng)該描繪的顯示對象較為復(fù)雜,會拖慢顯示。定。有時應(yīng)該描繪的顯示對象較為復(fù)雜,會拖慢顯示。 因此,一般不使用因此,一般不使用frameRate作為計時器,也很難根據(jù)當(dāng)作為計時器,也很難根據(jù)當(dāng) 前播放的時間來獲取實際播放的幀數(shù)。前播放的時間來獲取實際播放的幀數(shù)。 11.2.2 stage11.2.2 stage的全局屬性的全局屬性 quality屬性:屬性: quality屬性控制屬性控制Flash影片的質(zhì)量,它由低到高可以接受影片的質(zhì)量,它由低到高可以接受4個個 參數(shù)中的一個。參數(shù)中的一個。 StageQuality

18、.LOW(“l(fā)ow”):此時):此時Flash影片以低品質(zhì)呈影片以低品質(zhì)呈 現(xiàn),不消除圖形的鋸齒,位圖也不進行平滑處理;現(xiàn),不消除圖形的鋸齒,位圖也不進行平滑處理; StageQuality.MEDIUM(“medium”):此時):此時Flash影片以影片以 中等品質(zhì)呈現(xiàn),使用中等品質(zhì)呈現(xiàn),使用2* 2像素網(wǎng)格消除圖形鋸齒,但不對像素網(wǎng)格消除圖形鋸齒,但不對 位圖進行平滑處理。位圖進行平滑處理。 11.2.2 stage11.2.2 stage的全局屬性的全局屬性 StageQuality.HIGH(“high”):此時):此時Flash影片以高品質(zhì)影片以高品質(zhì) 呈現(xiàn),使用呈現(xiàn),使用4 x

19、4像素網(wǎng)格消除圖形鋸齒,如果影片是靜像素網(wǎng)格消除圖形鋸齒,如果影片是靜 態(tài)的,則對位圖進行平滑處理。態(tài)的,則對位圖進行平滑處理。Flash Player默認(rèn)的呈現(xiàn)默認(rèn)的呈現(xiàn) 品質(zhì)是品質(zhì)是high。 StageQuality.BEST(“best”):此時):此時Flash影片以最佳品質(zhì)影片以最佳品質(zhì) 呈現(xiàn),使用呈現(xiàn),使用4 x 4像素網(wǎng)格消除圖形鋸齒,并且始終對位像素網(wǎng)格消除圖形鋸齒,并且始終對位 圖進行平滑處理。圖進行平滑處理。 說明:說明:quality接受的參數(shù)存儲于常量中,如常量接受的參數(shù)存儲于常量中,如常量 StageQuality.LOW中存放的是字符串中存放的是字符串“l(fā)ow”。

20、 11.2.2 stage11.2.2 stage的全局屬性的全局屬性 displayState屬性:屬性: displayState屬性用于設(shè)置當(dāng)前的屬性用于設(shè)置當(dāng)前的Flash影片的顯示狀態(tài)。它影片的顯示狀態(tài)。它 可以接受以下參數(shù)之一??梢越邮芤韵聟?shù)之一。 StageDisplayState.FULL_SCREEN(“fullscreen”):設(shè)置):設(shè)置 Flash以全屏模式播放。以全屏模式播放。 StageDisplayState.NORMAL(“normal”):設(shè)置):設(shè)置Flash以以 普通模式播放。普通模式播放。 出于安全考慮,出于安全考慮,F(xiàn)lash Player不允許系統(tǒng)

21、自動切換為全屏模不允許系統(tǒng)自動切換為全屏模 式,要求必須通過用戶交換(鼠標(biāo)點擊或按下鍵盤)才式,要求必須通過用戶交換(鼠標(biāo)點擊或按下鍵盤)才 能夠?qū)崿F(xiàn)全屏。能夠?qū)崿F(xiàn)全屏。 11.2.3 stage11.2.3 stage特殊事件特殊事件 stage支持如下支持如下3個特殊事件類型。個特殊事件類型。 FullScreenEvent.FULL_SCREEN(“fullScreen”):當(dāng)):當(dāng) Flash程序成功切換為全屏模式后調(diào)度。程序成功切換為全屏模式后調(diào)度。 Event.MOUSE_LEAVE(“mouseLeave”):當(dāng)鼠標(biāo)離開離):當(dāng)鼠標(biāo)離開離 開開Flash程序播放窗口時調(diào)度。程序播

22、放窗口時調(diào)度。 Event.RESIZE(“resize”):當(dāng)縮放模式設(shè)置為):當(dāng)縮放模式設(shè)置為“noScale” 時,播放窗口發(fā)生變化(被拖動)時調(diào)度。時,播放窗口發(fā)生變化(被拖動)時調(diào)度。 11.3 Sprite11.3 Sprite類類 Sprite類是最基本的顯示對象容器之一。它既是顯示對象,類是最基本的顯示對象容器之一。它既是顯示對象, 同時也可以充當(dāng)顯示對象容器。它有同時也可以充當(dāng)顯示對象容器。它有z軸順序,但不包含軸順序,但不包含 時間軸。如之前提到過的,一個時間軸。如之前提到過的,一個Flash文件的文檔類只能文件的文檔類只能 繼承自繼承自Sprite類或類或MovieCli

23、p類。當(dāng)一個程序沒有時間軸類。當(dāng)一個程序沒有時間軸 時,即繼承時,即繼承Sprite類;有時間軸時則繼承類;有時間軸時則繼承MovieClip類。類。 Sprite類擁有全部顯示對象容器的屬性和方法,同時它還添類擁有全部顯示對象容器的屬性和方法,同時它還添 加了按鈕模式和拖放模式。這兩種特殊模式增加了加了按鈕模式和拖放模式。這兩種特殊模式增加了Sprite 類的交互性。類的交互性。 11.3.1 11.3.1 按鈕模式按鈕模式 當(dāng)設(shè)置當(dāng)設(shè)置Sprite實例的實例的buttonMode屬性為屬性為true時,即打開了它時,即打開了它 的按鈕模式。此時當(dāng)鼠標(biāo)指針經(jīng)過時會觸發(fā)手形光標(biāo)的的按鈕模式。此

24、時當(dāng)鼠標(biāo)指針經(jīng)過時會觸發(fā)手形光標(biāo)的 顯示。當(dāng)顯示。當(dāng)Sprite實例獲得焦點時按下實例獲得焦點時按下【Enter】或空格鍵或空格鍵 時可以接收鼠標(biāo)點擊(時可以接收鼠標(biāo)點擊(click)事件。)事件。 11.3.2 11.3.2 拖放模式拖放模式 Sprite允許鼠標(biāo)對其進行拖放。其語法如下。允許鼠標(biāo)對其進行拖放。其語法如下。 對象對象.startDrag(); 終止拖放模式的語法如下。終止拖放模式的語法如下。 對象對象.stopDrag(); 說明:說明:startDrag方法一般情況下不須提供參數(shù),實際上它具方法一般情況下不須提供參數(shù),實際上它具 有兩個有默認(rèn)值的參數(shù)。其中之一名為有兩個有默

25、認(rèn)值的參數(shù)。其中之一名為lockCenter,它指,它指 示當(dāng)前的拖放行為是否始終鎖定對象的中央,其默認(rèn)值示當(dāng)前的拖放行為是否始終鎖定對象的中央,其默認(rèn)值 為為false;另一個參數(shù)是一個矩形實例,它代表對象可拖;另一個參數(shù)是一個矩形實例,它代表對象可拖 動的范圍,其默認(rèn)值為動的范圍,其默認(rèn)值為null。 11.4 MovieClip11.4 MovieClip類類 如前所述,如前所述,MovieClip類有平面坐標(biāo),類有平面坐標(biāo),z軸深度,同時也具有軸深度,同時也具有 時間軸。是一個時間軸。是一個“四維四維”的對象。它的前的對象。它的前“三維三維”繼承繼承 自自Sprite,自身的特色在于對

26、時間軸的控制。介紹,自身的特色在于對時間軸的控制。介紹 MovieClip類時,我們將著重介紹這一特性。類時,我們將著重介紹這一特性。 11.4.1 11.4.1 時間軸的基本單位時間軸的基本單位 在在MovieClip類中,時間軸被分割為幀。幀是時間軸的最小類中,時間軸被分割為幀。幀是時間軸的最小 單位,它的序號代表著播放頭的播放順序。在單位,它的序號代表著播放頭的播放順序。在Flash CS3 的時間軸面板上,每個小格子代表的時間軸面板上,每個小格子代表1幀,如下圖所示。幀,如下圖所示。 播放頭按幀的序號順序進入各幀,并執(zhí)行幀上的代碼,之后播放頭按幀的序號順序進入各幀,并執(zhí)行幀上的代碼,之

27、后 描繪顯示對象。描繪顯示對象。 11.4.1 11.4.1 時間軸的基本單位時間軸的基本單位 除了幀這個最小單位外,在除了幀這個最小單位外,在Flash程序中還支持自定義的程序中還支持自定義的“ 標(biāo)簽標(biāo)簽”。標(biāo)簽是幾個連續(xù)幀的集合,例如可以在第。標(biāo)簽是幾個連續(xù)幀的集合,例如可以在第20幀幀 處按下處按下【F5】鍵插入幀,并選中鍵插入幀,并選中120幀中的任意幀,在幀中的任意幀,在 屬性面板(屬性面板(Properties)的)的Frames屬性中輸入屬性中輸入“opening” ,此時,此時120幀被自定義為一個叫做幀被自定義為一個叫做“opening”標(biāo)簽。標(biāo)簽。 11.4.2 11.4.

28、2 時間軸的屬性和方法時間軸的屬性和方法 了解了時間軸基本單位后,再來看了解了時間軸基本單位后,再來看MovieClip的屬性就簡單的屬性就簡單 得多了,如下表所示。得多了,如下表所示。 11.4.2 11.4.2 時間軸的屬性和方法時間軸的屬性和方法 與上述屬性相對應(yīng),與上述屬性相對應(yīng),MovieClip類中的特有方法也幾乎全部類中的特有方法也幾乎全部 用來控制播放頭的位置,如下表所示。用來控制播放頭的位置,如下表所示。 11.4.3 11.4.3 播放頭事件播放頭事件 在介紹在介紹MovieClip類之前,我們已經(jīng)使用過很多次播放頭事類之前,我們已經(jīng)使用過很多次播放頭事 件件enterFr

29、ame了。這個事件在播放頭進入新幀時調(diào)度。了。這個事件在播放頭進入新幀時調(diào)度。 如果播放頭不移動,或者只有一幀,則會反復(fù)以幀頻調(diào)如果播放頭不移動,或者只有一幀,則會反復(fù)以幀頻調(diào) 度。系統(tǒng)會對所有偵聽此事件的顯示對象同時調(diào)度此事度。系統(tǒng)會對所有偵聽此事件的顯示對象同時調(diào)度此事 件。件。 通常,播放頭只能逐幀前進。但配合播放頭事件通常,播放頭只能逐幀前進。但配合播放頭事件enterFrame ,也可以實現(xiàn),也可以實現(xiàn)MovieClip的快進,快退等功能。的快進,快退等功能。 11.5 Loader11.5 Loader類類 Loader類是另一種顯示對象容器,它可用于加載類是另一種顯示對象容器,它

30、可用于加載SWF文件文件 或位圖圖像(或位圖圖像(JPG、PNG、GIF)文件。被加載的顯示對)文件。被加載的顯示對 象將作為象將作為 Loader 對象的子級添加。對象的子級添加。 在在ActionScript中,將加載內(nèi)容明確地分為兩類,顯示對象中,將加載內(nèi)容明確地分為兩類,顯示對象 全部使用全部使用Loader類加載,而文本和二進制數(shù)據(jù)則使用類加載,而文本和二進制數(shù)據(jù)則使用 URLLoader類來加載。本章將專注于介紹顯示對象容器類來加載。本章將專注于介紹顯示對象容器 ,后面章節(jié)將會介紹,后面章節(jié)將會介紹URLLoader 。 說明:顯示對象也可以通過一些手段還原為數(shù)據(jù),再通過說明:顯示

31、對象也可以通過一些手段還原為數(shù)據(jù),再通過 URLLoader加載到加載到Flash程序中。程序中。 11.5 Loader11.5 Loader類類 由于顯示對象容器的嵌套關(guān)系,被加載的由于顯示對象容器的嵌套關(guān)系,被加載的SWF文件中的一文件中的一 些方法將發(fā)生指向性的錯誤。例如些方法將發(fā)生指向性的錯誤。例如addChild、 removeChild等。因此被等。因此被Loader加載的文件需要有嚴(yán)格的加載的文件需要有嚴(yán)格的 語法格式,如下列代碼。語法格式,如下列代碼。 removeChild(mc); /mc的父的父(容器容器)刪除刪除mc mc.parent.removeChild(mc)

32、; 對于一個獨立的對于一個獨立的Flash程序來說,兩行代碼都是正確的,但程序來說,兩行代碼都是正確的,但 如果該代碼存在于一個即將被加載的如果該代碼存在于一個即將被加載的SWF文件中時,則文件中時,則 推薦使用第二種方式刪除推薦使用第二種方式刪除mc實例。實例。 其他有可能引發(fā)錯誤的省略寫法還包括直接使用其他有可能引發(fā)錯誤的省略寫法還包括直接使用addChildAt 、removeChildAt、setChildIndex等。等。 11.5.1 11.5.1 加載顯示對象加載顯示對象 Loader對象加載外部顯示對象的方法很簡單,但是因為牽涉對象加載外部顯示對象的方法很簡單,但是因為牽涉 到

33、網(wǎng)絡(luò)環(huán)境(或本地加載速度),一定要在加載過程中到網(wǎng)絡(luò)環(huán)境(或本地加載速度),一定要在加載過程中 偵聽加載狀態(tài)。偵聽加載狀態(tài)。Loader還沒有完全加載完就急著進行訪還沒有完全加載完就急著進行訪 問。這是初學(xué)者經(jīng)常會犯的低級錯誤。問。這是初學(xué)者經(jīng)常會犯的低級錯誤。 一般來說,一般來說,Loader加載對象時按以下步驟進行。加載對象時按以下步驟進行。 (1)聲明)聲明Loader實例。實例。 (2)使用)使用load方法加載。方法加載。 (3)偵聽)偵聽Loader.contentLoaderInfo的的“complete”或或“init” 事件。事件。 (4)偵聽到事件后再處理)偵聽到事件后再處理loader對象(訪問屬性或方法等對象(訪問屬性或方法等 )。)。 11.5.2 11.5.2 訪問加載對象訪問加載對象 當(dāng)成功加載對象后,一般不僅僅要求顯示加載對象。如果被當(dāng)成功加載對象后,一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論