版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第1111章章 顯示對(duì)象容器顯示對(duì)象容器 前兩章介紹到的對(duì)象都是二維概念的顯示對(duì)象。前兩章介紹到的對(duì)象都是二維概念的顯示對(duì)象。 ActionScript中有一類對(duì)象在二維空間的基礎(chǔ)上增加了中有一類對(duì)象在二維空間的基礎(chǔ)上增加了z軸軸 順序,雖然達(dá)不到順序,雖然達(dá)不到z軸坐標(biāo)的精確程度,也無(wú)法表現(xiàn)軸坐標(biāo)的精確程度,也無(wú)法表現(xiàn)3D空空 間效果,但是間效果,但是z軸順序的引入無(wú)疑也提高了顯示對(duì)象的表軸順序的引入無(wú)疑也提高了顯示對(duì)象的表 現(xiàn)力,這類對(duì)象被稱之為現(xiàn)力,這類對(duì)象被稱之為“顯示對(duì)象容器顯示對(duì)象容器”。通常。通常z軸順軸順 序也被稱之為深度。序也被稱之為深度。 在在z軸順序之外,如果再加上時(shí)間
2、這一個(gè)維度,顯示對(duì)象就軸順序之外,如果再加上時(shí)間這一個(gè)維度,顯示對(duì)象就 成為了一個(gè)四維對(duì)象,就可以表現(xiàn)對(duì)象的運(yùn)動(dòng)變化。成為了一個(gè)四維對(duì)象,就可以表現(xiàn)對(duì)象的運(yùn)動(dòng)變化。 ActionScript通過(guò)通過(guò)“時(shí)間軸時(shí)間軸”來(lái)描述時(shí)間維度。同時(shí)具有來(lái)描述時(shí)間維度。同時(shí)具有 深度和時(shí)間軸的是深度和時(shí)間軸的是MovieClip類,它也是使用最為廣泛的類,它也是使用最為廣泛的 顯示對(duì)象。顯示對(duì)象。 11.1 11.1 顯示對(duì)象容器概述顯示對(duì)象容器概述 顯示對(duì)象容器在顯示對(duì)象容器在ActionScript中是一個(gè)抽象類,稱為中是一個(gè)抽象類,稱為 DisplayObjectContainer。它不能被直接實(shí)例化,
3、但卻描。它不能被直接實(shí)例化,但卻描 述了子類的共同性質(zhì):深度。述了子類的共同性質(zhì):深度。DisplayObjectContainer的的 子類包括子類包括Loader、Sprite和和Stage。 顯示對(duì)象容器的命名非常形象,它就象一個(gè)真正的容器。其顯示對(duì)象容器的命名非常形象,它就象一個(gè)真正的容器。其 它顯示對(duì)象可以加載到容器中去,對(duì)容器進(jìn)行操作,也它顯示對(duì)象可以加載到容器中去,對(duì)容器進(jìn)行操作,也 同時(shí)會(huì)影響到容器內(nèi)的對(duì)象。例如,對(duì)容器進(jìn)行變形或同時(shí)會(huì)影響到容器內(nèi)的對(duì)象。例如,對(duì)容器進(jìn)行變形或 縮放時(shí),它包含的對(duì)象也會(huì)一起變形或縮放。如果從顯縮放時(shí),它包含的對(duì)象也會(huì)一起變形或縮放。如果從顯 示
4、列表中刪除容器,則它所包含的所有對(duì)象也會(huì)被刪除示列表中刪除容器,則它所包含的所有對(duì)象也會(huì)被刪除 。 顯示對(duì)象容器內(nèi)的顯示對(duì)象通過(guò)深度組織,每個(gè)對(duì)象獲得一顯示對(duì)象容器內(nèi)的顯示對(duì)象通過(guò)深度組織,每個(gè)對(duì)象獲得一 個(gè)索引值。這個(gè)值越小則顯示對(duì)象越靠下,越大則越靠個(gè)索引值。這個(gè)值越小則顯示對(duì)象越靠下,越大則越靠 上。視覺(jué)上,上面的對(duì)象會(huì)遮蓋住下面的對(duì)象。上。視覺(jué)上,上面的對(duì)象會(huì)遮蓋住下面的對(duì)象。 11.1.1 11.1.1 添加子對(duì)象添加子對(duì)象 顯示對(duì)象容器的概念始終圍繞著它所包含的子對(duì)象(顯示對(duì)象容器的概念始終圍繞著它所包含的子對(duì)象(child) ??梢允褂???梢允褂胊ddChild方法將子對(duì)象加載到
5、容器中,其語(yǔ)方法將子對(duì)象加載到容器中,其語(yǔ) 法如下。法如下。 容器容器.addChild(子對(duì)象子對(duì)象); 例如,以下代碼將一個(gè)名為例如,以下代碼將一個(gè)名為child的的Shape實(shí)例加載到名為實(shí)例加載到名為 container的的Sprite實(shí)例中。實(shí)例中。 var container:Sprite = new Sprite(); var child:Shape = new Shape(); container.addChild(child); 11.1.1 11.1.1 添加子對(duì)象添加子對(duì)象 注意:當(dāng)容器注意:當(dāng)容器container加載了子對(duì)象加載了子對(duì)象child后,容器和子對(duì)象后,容
6、器和子對(duì)象 都還處于無(wú)法顯示的狀態(tài)。需要把它們?cè)俣歼€處于無(wú)法顯示的狀態(tài)。需要把它們?cè)佟把b入裝入”舞臺(tái)舞臺(tái) 這個(gè)最大的容器中。即使用如下語(yǔ)句令舞臺(tái)加載這個(gè)最大的容器中。即使用如下語(yǔ)句令舞臺(tái)加載 container 。 stage.addChild(container); 在這一過(guò)程中,在這一過(guò)程中,stage是容器,而是容器,而container成了子對(duì)象。當(dāng)成了子對(duì)象。當(dāng) 舞臺(tái)加載了子對(duì)象后默認(rèn)顯示該對(duì)象,這就是我們學(xué)說(shuō)舞臺(tái)加載了子對(duì)象后默認(rèn)顯示該對(duì)象,這就是我們學(xué)說(shuō) 的的“加載到顯示列表加載到顯示列表”。而一般主時(shí)間線為文檔類的實(shí)。而一般主時(shí)間線為文檔類的實(shí) 例,因此在例,因此在Flash
7、CS3的主時(shí)間線上,加載到顯示列表的的主時(shí)間線上,加載到顯示列表的 代碼也??梢允÷缘貙憺橐韵聝煞N形式。代碼也??梢允÷缘貙憺橐韵聝煞N形式。 this.addChild(container); addChild(container); 11.1.2 11.1.2 子對(duì)象的深度子對(duì)象的深度 子對(duì)象的子對(duì)象的z軸順序表現(xiàn)為深度,深度可以認(rèn)為顯示對(duì)象容器軸順序表現(xiàn)為深度,深度可以認(rèn)為顯示對(duì)象容器 中各個(gè)對(duì)象的層疊順序。當(dāng)一個(gè)子對(duì)象使用中各個(gè)對(duì)象的層疊順序。當(dāng)一個(gè)子對(duì)象使用addChild方方 法加載到容器中時(shí),法加載到容器中時(shí),ActionScript自動(dòng)為其分配一個(gè)索引自動(dòng)為其分配一個(gè)索引 ,最先
8、加載子對(duì)象的索引為,最先加載子對(duì)象的索引為0,以后順次增加。索引較小,以后順次增加。索引較小 的對(duì)象會(huì)顯示在索引較大對(duì)象的下方。的對(duì)象會(huì)顯示在索引較大對(duì)象的下方。 例如,以下代碼中例如,以下代碼中container先加載先加載child1,再加載,再加載child2。 因此,因此,child1會(huì)顯示在會(huì)顯示在child2的下方。的下方。 container.addChild(child1); container.addChild(child2); 11.1.3 numChildren11.1.3 numChildren屬性屬性 一個(gè)顯示對(duì)象容器中有幾個(gè)子對(duì)象,就有幾個(gè)完全不同、由一個(gè)顯示對(duì)象容
9、器中有幾個(gè)子對(duì)象,就有幾個(gè)完全不同、由 0開(kāi)始遞增的索引??梢允褂萌萜鞯拈_(kāi)始遞增的索引??梢允褂萌萜鞯腸hildNum屬性取得子屬性取得子 對(duì)象的個(gè)數(shù),如下列代碼。對(duì)象的個(gè)數(shù),如下列代碼。 11.1.3 numChildren11.1.3 numChildren屬性屬性 當(dāng)已知當(dāng)已知numChildren時(shí),子對(duì)象的索引順序就是由時(shí),子對(duì)象的索引順序就是由0變化到變化到 (numChildren-1)。一般)。一般ActionScript會(huì)用會(huì)用numChildren 作為遍歷容器時(shí)的參數(shù)使用,如下列代碼。作為遍歷容器時(shí)的參數(shù)使用,如下列代碼。 如果如果numChildren值為值為0,則表示
10、當(dāng)前的容器中不含子對(duì)象,則表示當(dāng)前的容器中不含子對(duì)象 11.1.4 11.1.4 對(duì)深度索引的控制對(duì)深度索引的控制 ActionScript在加載時(shí),除了默認(rèn)的加載順序外,也可以使在加載時(shí),除了默認(rèn)的加載順序外,也可以使 用用addChildAt方法指定子對(duì)象的深度索引,其語(yǔ)法如下方法指定子對(duì)象的深度索引,其語(yǔ)法如下 。 容器容器.addChildAt(子對(duì)象子對(duì)象,索引索引); addChildAt可以自由指定加載子對(duì)象的索引值,可以指定新可以自由指定加載子對(duì)象的索引值,可以指定新 加載的子對(duì)象位于任意其他子對(duì)象之間。加載的子對(duì)象位于任意其他子對(duì)象之間。 11.1.5 11.1.5 刪除子對(duì)
11、象刪除子對(duì)象 從一個(gè)顯示對(duì)象容器中刪除子對(duì)象時(shí)使用從一個(gè)顯示對(duì)象容器中刪除子對(duì)象時(shí)使用removeChild或或 removeChildAt方法,其語(yǔ)法如下。方法,其語(yǔ)法如下。 容器容器. removeChild (子對(duì)象子對(duì)象); 容器容器. removeChildAt (索引索引); removeChild直接刪除參數(shù)指定的子對(duì)象,直接刪除參數(shù)指定的子對(duì)象,removeChildAt則會(huì)刪則會(huì)刪 除處于索引值深度的子對(duì)象。明確知道子對(duì)象時(shí)可以直接使用除處于索引值深度的子對(duì)象。明確知道子對(duì)象時(shí)可以直接使用 removeChild方法,有些情況無(wú)法了解具體加載到容器中的子方法,有些情況無(wú)法了解
12、具體加載到容器中的子 對(duì)象,則可以通過(guò)索引值將其刪除。對(duì)象,則可以通過(guò)索引值將其刪除。 例如,經(jīng)常使用以下的循環(huán)結(jié)構(gòu)刪除容器中的所有子對(duì)象。例如,經(jīng)常使用以下的循環(huán)結(jié)構(gòu)刪除容器中的所有子對(duì)象。 /只要當(dāng)前容器的子對(duì)象數(shù)不為只要當(dāng)前容器的子對(duì)象數(shù)不為0,即刪除索引,即刪除索引0處的子對(duì)象處的子對(duì)象 while(container.numChildren0) container.removeChildAt(0); 11.1.6 getObjectsUnderPoint11.1.6 getObjectsUnderPoint方法方法 getObjectsUnderPoint是顯示對(duì)象容器用于檢測(cè)是顯示
13、對(duì)象容器用于檢測(cè)“碰撞碰撞”的的 方法。它可以返回某一點(diǎn)上容器所有子對(duì)象(包括孫,方法。它可以返回某一點(diǎn)上容器所有子對(duì)象(包括孫, 曾孫)的數(shù)組結(jié)構(gòu)。其語(yǔ)法如下。曾孫)的數(shù)組結(jié)構(gòu)。其語(yǔ)法如下。 容器容器.getObjectsUnderPoint(點(diǎn)點(diǎn)); 說(shuō)明:這里的說(shuō)明:這里的“點(diǎn)點(diǎn)”指的是一個(gè)指的是一個(gè)Point實(shí)例。實(shí)例。 一般來(lái)說(shuō),鼠標(biāo)偵聽(tīng)器的節(jié)點(diǎn)對(duì)象是處于最上層的顯示對(duì)象一般來(lái)說(shuō),鼠標(biāo)偵聽(tīng)器的節(jié)點(diǎn)對(duì)象是處于最上層的顯示對(duì)象 。例如當(dāng)一個(gè)按鈕被另一個(gè)按鈕遮住時(shí),將無(wú)法作為節(jié)。例如當(dāng)一個(gè)按鈕被另一個(gè)按鈕遮住時(shí),將無(wú)法作為節(jié) 點(diǎn)對(duì)象接收事件。此時(shí)可以使用點(diǎn)對(duì)象接收事件。此時(shí)可以使用getO
14、bjectsUnderPoint方方 法,它將返回一個(gè)數(shù)組,包含所有位于指定點(diǎn)的對(duì)象。法,它將返回一個(gè)數(shù)組,包含所有位于指定點(diǎn)的對(duì)象。 11.2 Stage11.2 Stage類類 Stage類是一個(gè)非常有代表性,也是一個(gè)特殊的顯示對(duì)象容類是一個(gè)非常有代表性,也是一個(gè)特殊的顯示對(duì)象容 器。所有呈現(xiàn)在用戶面前的顯示對(duì)象都需要加載到舞臺(tái)器。所有呈現(xiàn)在用戶面前的顯示對(duì)象都需要加載到舞臺(tái) 之后才得以顯示。同時(shí)之后才得以顯示。同時(shí)Stage類也有其特殊性。類也有其特殊性。 11.2.1 11.2.1 獨(dú)一無(wú)二的獨(dú)一無(wú)二的stagestage Stage不同于一般的顯示對(duì)象或容器,它不能實(shí)例化,不可不同于
15、一般的顯示對(duì)象或容器,它不能實(shí)例化,不可 以使用以使用new Stage這樣的構(gòu)造函數(shù)。這是因?yàn)檫@樣的構(gòu)造函數(shù)。這是因?yàn)镕lash在初始在初始 化時(shí)已經(jīng)建立了一個(gè)獨(dú)一無(wú)二的化時(shí)已經(jīng)建立了一個(gè)獨(dú)一無(wú)二的Stage實(shí)例實(shí)例stage(注意大(注意大 小寫)。一個(gè)小寫)。一個(gè)Flash影片同時(shí)只能有一個(gè)舞臺(tái)實(shí)例。影片同時(shí)只能有一個(gè)舞臺(tái)實(shí)例。 stage由于其存在的特殊性,所以一些屬性設(shè)置雖然能夠應(yīng)由于其存在的特殊性,所以一些屬性設(shè)置雖然能夠應(yīng) 用于普通的顯示對(duì)象容器中,但是卻不允許應(yīng)用于用于普通的顯示對(duì)象容器中,但是卻不允許應(yīng)用于stage 。 11.2.2 stage11.2.2 stage的全局
16、屬性的全局屬性 stage(Stage的唯一實(shí)例)具有多個(gè)屬性。通過(guò)設(shè)置這些屬的唯一實(shí)例)具有多個(gè)屬性。通過(guò)設(shè)置這些屬 性,可以影響整個(gè)性,可以影響整個(gè)Flash影片。以下我們介紹常用的幾個(gè)影片。以下我們介紹常用的幾個(gè) 全局屬性。全局屬性。 frameRate屬性:屬性: frameRate屬性可以獲取或設(shè)置舞臺(tái)的幀頻,它能夠接受的屬性可以獲取或設(shè)置舞臺(tái)的幀頻,它能夠接受的 有效數(shù)字從有效數(shù)字從0.01到到1000。新建。新建Flash文件的幀頻為文件的幀頻為12fps, 如果要求較好的動(dòng)畫效果,一般會(huì)設(shè)置為如果要求較好的動(dòng)畫效果,一般會(huì)設(shè)置為24,30甚至甚至60 不等。由于內(nèi)部刷新機(jī)制的影
17、響,幀頻一般來(lái)說(shuō)并不穩(wěn)不等。由于內(nèi)部刷新機(jī)制的影響,幀頻一般來(lái)說(shuō)并不穩(wěn) 定。有時(shí)應(yīng)該描繪的顯示對(duì)象較為復(fù)雜,會(huì)拖慢顯示。定。有時(shí)應(yīng)該描繪的顯示對(duì)象較為復(fù)雜,會(huì)拖慢顯示。 因此,一般不使用因此,一般不使用frameRate作為計(jì)時(shí)器,也很難根據(jù)當(dāng)作為計(jì)時(shí)器,也很難根據(jù)當(dāng) 前播放的時(shí)間來(lái)獲取實(shí)際播放的幀數(shù)。前播放的時(shí)間來(lái)獲取實(shí)際播放的幀數(shù)。 11.2.2 stage11.2.2 stage的全局屬性的全局屬性 quality屬性:屬性: quality屬性控制屬性控制Flash影片的質(zhì)量,它由低到高可以接受影片的質(zhì)量,它由低到高可以接受4個(gè)個(gè) 參數(shù)中的一個(gè)。參數(shù)中的一個(gè)。 StageQuality
18、.LOW(“l(fā)ow”):此時(shí)):此時(shí)Flash影片以低品質(zhì)呈影片以低品質(zhì)呈 現(xiàn),不消除圖形的鋸齒,位圖也不進(jìn)行平滑處理;現(xiàn),不消除圖形的鋸齒,位圖也不進(jìn)行平滑處理; StageQuality.MEDIUM(“medium”):此時(shí)):此時(shí)Flash影片以影片以 中等品質(zhì)呈現(xiàn),使用中等品質(zhì)呈現(xiàn),使用2* 2像素網(wǎng)格消除圖形鋸齒,但不對(duì)像素網(wǎng)格消除圖形鋸齒,但不對(duì) 位圖進(jìn)行平滑處理。位圖進(jìn)行平滑處理。 11.2.2 stage11.2.2 stage的全局屬性的全局屬性 StageQuality.HIGH(“high”):此時(shí)):此時(shí)Flash影片以高品質(zhì)影片以高品質(zhì) 呈現(xiàn),使用呈現(xiàn),使用4 x
19、4像素網(wǎng)格消除圖形鋸齒,如果影片是靜像素網(wǎng)格消除圖形鋸齒,如果影片是靜 態(tài)的,則對(duì)位圖進(jìn)行平滑處理。態(tài)的,則對(duì)位圖進(jìn)行平滑處理。Flash Player默認(rèn)的呈現(xiàn)默認(rèn)的呈現(xiàn) 品質(zhì)是品質(zhì)是high。 StageQuality.BEST(“best”):此時(shí)):此時(shí)Flash影片以最佳品質(zhì)影片以最佳品質(zhì) 呈現(xiàn),使用呈現(xiàn),使用4 x 4像素網(wǎng)格消除圖形鋸齒,并且始終對(duì)位像素網(wǎng)格消除圖形鋸齒,并且始終對(duì)位 圖進(jìn)行平滑處理。圖進(jìn)行平滑處理。 說(shuō)明:說(shuō)明:quality接受的參數(shù)存儲(chǔ)于常量中,如常量接受的參數(shù)存儲(chǔ)于常量中,如常量 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、自動(dòng)切換為全屏模不允許系統(tǒng)自動(dòng)切換為全屏模 式,要求必須通過(guò)用戶交換(鼠標(biāo)點(diǎn)擊或按下鍵盤)才式,要求必須通過(guò)用戶交換(鼠標(biāo)點(diǎn)擊或按下鍵盤)才 能夠?qū)崿F(xiàn)全屏。能夠?qū)崿F(xiàn)全屏。 11.2.3 stage11.2.3 stage特殊事件特殊事件 stage支持如下支持如下3個(gè)特殊事件類型。個(gè)特殊事件類型。 FullScreenEvent.FULL_SCREEN(“fullScreen”):當(dāng)):當(dāng) Flash程序成功切換為全屏模式后調(diào)度。程序成功切換為全屏模式后調(diào)度。 Event.MOUSE_LEAVE(“mouseLeave”):當(dāng)鼠標(biāo)離開(kāi)離):當(dāng)鼠標(biāo)離開(kāi)離 開(kāi)開(kāi)Flash程序播放窗口時(shí)調(diào)度。程序播
22、放窗口時(shí)調(diào)度。 Event.RESIZE(“resize”):當(dāng)縮放模式設(shè)置為):當(dāng)縮放模式設(shè)置為“noScale” 時(shí),播放窗口發(fā)生變化(被拖動(dòng))時(shí)調(diào)度。時(shí),播放窗口發(fā)生變化(被拖動(dòng))時(shí)調(diào)度。 11.3 Sprite11.3 Sprite類類 Sprite類是最基本的顯示對(duì)象容器之一。它既是顯示對(duì)象,類是最基本的顯示對(duì)象容器之一。它既是顯示對(duì)象, 同時(shí)也可以充當(dāng)顯示對(duì)象容器。它有同時(shí)也可以充當(dāng)顯示對(duì)象容器。它有z軸順序,但不包含軸順序,但不包含 時(shí)間軸。如之前提到過(guò)的,一個(gè)時(shí)間軸。如之前提到過(guò)的,一個(gè)Flash文件的文檔類只能文件的文檔類只能 繼承自繼承自Sprite類或類或MovieCli
23、p類。當(dāng)一個(gè)程序沒(méi)有時(shí)間軸類。當(dāng)一個(gè)程序沒(méi)有時(shí)間軸 時(shí),即繼承時(shí),即繼承Sprite類;有時(shí)間軸時(shí)則繼承類;有時(shí)間軸時(shí)則繼承MovieClip類。類。 Sprite類擁有全部顯示對(duì)象容器的屬性和方法,同時(shí)它還添類擁有全部顯示對(duì)象容器的屬性和方法,同時(shí)它還添 加了按鈕模式和拖放模式。這兩種特殊模式增加了加了按鈕模式和拖放模式。這兩種特殊模式增加了Sprite 類的交互性。類的交互性。 11.3.1 11.3.1 按鈕模式按鈕模式 當(dāng)設(shè)置當(dāng)設(shè)置Sprite實(shí)例的實(shí)例的buttonMode屬性為屬性為true時(shí),即打開(kāi)了它時(shí),即打開(kāi)了它 的按鈕模式。此時(shí)當(dāng)鼠標(biāo)指針經(jīng)過(guò)時(shí)會(huì)觸發(fā)手形光標(biāo)的的按鈕模式。此
24、時(shí)當(dāng)鼠標(biāo)指針經(jīng)過(guò)時(shí)會(huì)觸發(fā)手形光標(biāo)的 顯示。當(dāng)顯示。當(dāng)Sprite實(shí)例獲得焦點(diǎn)時(shí)按下實(shí)例獲得焦點(diǎn)時(shí)按下【Enter】或空格鍵或空格鍵 時(shí)可以接收鼠標(biāo)點(diǎn)擊(時(shí)可以接收鼠標(biāo)點(diǎn)擊(click)事件。)事件。 11.3.2 11.3.2 拖放模式拖放模式 Sprite允許鼠標(biāo)對(duì)其進(jìn)行拖放。其語(yǔ)法如下。允許鼠標(biāo)對(duì)其進(jìn)行拖放。其語(yǔ)法如下。 對(duì)象對(duì)象.startDrag(); 終止拖放模式的語(yǔ)法如下。終止拖放模式的語(yǔ)法如下。 對(duì)象對(duì)象.stopDrag(); 說(shuō)明:說(shuō)明:startDrag方法一般情況下不須提供參數(shù),實(shí)際上它具方法一般情況下不須提供參數(shù),實(shí)際上它具 有兩個(gè)有默認(rèn)值的參數(shù)。其中之一名為有兩個(gè)有默
25、認(rèn)值的參數(shù)。其中之一名為lockCenter,它指,它指 示當(dāng)前的拖放行為是否始終鎖定對(duì)象的中央,其默認(rèn)值示當(dāng)前的拖放行為是否始終鎖定對(duì)象的中央,其默認(rèn)值 為為false;另一個(gè)參數(shù)是一個(gè)矩形實(shí)例,它代表對(duì)象可拖;另一個(gè)參數(shù)是一個(gè)矩形實(shí)例,它代表對(duì)象可拖 動(dòng)的范圍,其默認(rèn)值為動(dòng)的范圍,其默認(rèn)值為null。 11.4 MovieClip11.4 MovieClip類類 如前所述,如前所述,MovieClip類有平面坐標(biāo),類有平面坐標(biāo),z軸深度,同時(shí)也具有軸深度,同時(shí)也具有 時(shí)間軸。是一個(gè)時(shí)間軸。是一個(gè)“四維四維”的對(duì)象。它的前的對(duì)象。它的前“三維三維”繼承繼承 自自Sprite,自身的特色在于對(duì)
26、時(shí)間軸的控制。介紹,自身的特色在于對(duì)時(shí)間軸的控制。介紹 MovieClip類時(shí),我們將著重介紹這一特性。類時(shí),我們將著重介紹這一特性。 11.4.1 11.4.1 時(shí)間軸的基本單位時(shí)間軸的基本單位 在在MovieClip類中,時(shí)間軸被分割為幀。幀是時(shí)間軸的最小類中,時(shí)間軸被分割為幀。幀是時(shí)間軸的最小 單位,它的序號(hào)代表著播放頭的播放順序。在單位,它的序號(hào)代表著播放頭的播放順序。在Flash CS3 的時(shí)間軸面板上,每個(gè)小格子代表的時(shí)間軸面板上,每個(gè)小格子代表1幀,如下圖所示。幀,如下圖所示。 播放頭按幀的序號(hào)順序進(jìn)入各幀,并執(zhí)行幀上的代碼,之后播放頭按幀的序號(hào)順序進(jìn)入各幀,并執(zhí)行幀上的代碼,之
27、后 描繪顯示對(duì)象。描繪顯示對(duì)象。 11.4.1 11.4.1 時(shí)間軸的基本單位時(shí)間軸的基本單位 除了幀這個(gè)最小單位外,在除了幀這個(gè)最小單位外,在Flash程序中還支持自定義的程序中還支持自定義的“ 標(biāo)簽標(biāo)簽”。標(biāo)簽是幾個(gè)連續(xù)幀的集合,例如可以在第。標(biāo)簽是幾個(gè)連續(xù)幀的集合,例如可以在第20幀幀 處按下處按下【F5】鍵插入幀,并選中鍵插入幀,并選中120幀中的任意幀,在幀中的任意幀,在 屬性面板(屬性面板(Properties)的)的Frames屬性中輸入屬性中輸入“opening” ,此時(shí),此時(shí)120幀被自定義為一個(gè)叫做幀被自定義為一個(gè)叫做“opening”標(biāo)簽。標(biāo)簽。 11.4.2 11.4.
28、2 時(shí)間軸的屬性和方法時(shí)間軸的屬性和方法 了解了時(shí)間軸基本單位后,再來(lái)看了解了時(shí)間軸基本單位后,再來(lái)看MovieClip的屬性就簡(jiǎn)單的屬性就簡(jiǎn)單 得多了,如下表所示。得多了,如下表所示。 11.4.2 11.4.2 時(shí)間軸的屬性和方法時(shí)間軸的屬性和方法 與上述屬性相對(duì)應(yīng),與上述屬性相對(duì)應(yīng),MovieClip類中的特有方法也幾乎全部類中的特有方法也幾乎全部 用來(lái)控制播放頭的位置,如下表所示。用來(lái)控制播放頭的位置,如下表所示。 11.4.3 11.4.3 播放頭事件播放頭事件 在介紹在介紹MovieClip類之前,我們已經(jīng)使用過(guò)很多次播放頭事類之前,我們已經(jīng)使用過(guò)很多次播放頭事 件件enterFr
29、ame了。這個(gè)事件在播放頭進(jìn)入新幀時(shí)調(diào)度。了。這個(gè)事件在播放頭進(jìn)入新幀時(shí)調(diào)度。 如果播放頭不移動(dòng),或者只有一幀,則會(huì)反復(fù)以幀頻調(diào)如果播放頭不移動(dòng),或者只有一幀,則會(huì)反復(fù)以幀頻調(diào) 度。系統(tǒng)會(huì)對(duì)所有偵聽(tīng)此事件的顯示對(duì)象同時(shí)調(diào)度此事度。系統(tǒng)會(huì)對(duì)所有偵聽(tīng)此事件的顯示對(duì)象同時(shí)調(diào)度此事 件。件。 通常,播放頭只能逐幀前進(jìn)。但配合播放頭事件通常,播放頭只能逐幀前進(jìn)。但配合播放頭事件enterFrame ,也可以實(shí)現(xiàn),也可以實(shí)現(xiàn)MovieClip的快進(jìn),快退等功能。的快進(jìn),快退等功能。 11.5 Loader11.5 Loader類類 Loader類是另一種顯示對(duì)象容器,它可用于加載類是另一種顯示對(duì)象容器,它
30、可用于加載SWF文件文件 或位圖圖像(或位圖圖像(JPG、PNG、GIF)文件。被加載的顯示對(duì))文件。被加載的顯示對(duì) 象將作為象將作為 Loader 對(duì)象的子級(jí)添加。對(duì)象的子級(jí)添加。 在在ActionScript中,將加載內(nèi)容明確地分為兩類,顯示對(duì)象中,將加載內(nèi)容明確地分為兩類,顯示對(duì)象 全部使用全部使用Loader類加載,而文本和二進(jìn)制數(shù)據(jù)則使用類加載,而文本和二進(jìn)制數(shù)據(jù)則使用 URLLoader類來(lái)加載。本章將專注于介紹顯示對(duì)象容器類來(lái)加載。本章將專注于介紹顯示對(duì)象容器 ,后面章節(jié)將會(huì)介紹,后面章節(jié)將會(huì)介紹URLLoader 。 說(shuō)明:顯示對(duì)象也可以通過(guò)一些手段還原為數(shù)據(jù),再通過(guò)說(shuō)明:顯示
31、對(duì)象也可以通過(guò)一些手段還原為數(shù)據(jù),再通過(guò) URLLoader加載到加載到Flash程序中。程序中。 11.5 Loader11.5 Loader類類 由于顯示對(duì)象容器的嵌套關(guān)系,被加載的由于顯示對(duì)象容器的嵌套關(guān)系,被加載的SWF文件中的一文件中的一 些方法將發(fā)生指向性的錯(cuò)誤。例如些方法將發(fā)生指向性的錯(cuò)誤。例如addChild、 removeChild等。因此被等。因此被Loader加載的文件需要有嚴(yán)格的加載的文件需要有嚴(yán)格的 語(yǔ)法格式,如下列代碼。語(yǔ)法格式,如下列代碼。 removeChild(mc); /mc的父的父(容器容器)刪除刪除mc mc.parent.removeChild(mc)
32、; 對(duì)于一個(gè)獨(dú)立的對(duì)于一個(gè)獨(dú)立的Flash程序來(lái)說(shuō),兩行代碼都是正確的,但程序來(lái)說(shuō),兩行代碼都是正確的,但 如果該代碼存在于一個(gè)即將被加載的如果該代碼存在于一個(gè)即將被加載的SWF文件中時(shí),則文件中時(shí),則 推薦使用第二種方式刪除推薦使用第二種方式刪除mc實(shí)例。實(shí)例。 其他有可能引發(fā)錯(cuò)誤的省略寫法還包括直接使用其他有可能引發(fā)錯(cuò)誤的省略寫法還包括直接使用addChildAt 、removeChildAt、setChildIndex等。等。 11.5.1 11.5.1 加載顯示對(duì)象加載顯示對(duì)象 Loader對(duì)象加載外部顯示對(duì)象的方法很簡(jiǎn)單,但是因?yàn)闋可鎸?duì)象加載外部顯示對(duì)象的方法很簡(jiǎn)單,但是因?yàn)闋可?到
33、網(wǎng)絡(luò)環(huán)境(或本地加載速度),一定要在加載過(guò)程中到網(wǎng)絡(luò)環(huán)境(或本地加載速度),一定要在加載過(guò)程中 偵聽(tīng)加載狀態(tài)。偵聽(tīng)加載狀態(tài)。Loader還沒(méi)有完全加載完就急著進(jìn)行訪還沒(méi)有完全加載完就急著進(jìn)行訪 問(wèn)。這是初學(xué)者經(jīng)常會(huì)犯的低級(jí)錯(cuò)誤。問(wèn)。這是初學(xué)者經(jīng)常會(huì)犯的低級(jí)錯(cuò)誤。 一般來(lái)說(shuō),一般來(lái)說(shuō),Loader加載對(duì)象時(shí)按以下步驟進(jìn)行。加載對(duì)象時(shí)按以下步驟進(jìn)行。 (1)聲明)聲明Loader實(shí)例。實(shí)例。 (2)使用)使用load方法加載。方法加載。 (3)偵聽(tīng))偵聽(tīng)Loader.contentLoaderInfo的的“complete”或或“init” 事件。事件。 (4)偵聽(tīng)到事件后再處理)偵聽(tīng)到事件后再處理loader對(duì)象(訪問(wèn)屬性或方法等對(duì)象(訪問(wèn)屬性或方法等 )。)。 11.5.2 11.5.2 訪問(wèn)加載對(duì)象訪問(wèn)加載對(duì)象 當(dāng)成功加載對(duì)象后,一般不僅僅要求顯示加載對(duì)象。如果被當(dāng)成功加載對(duì)象后,一
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度跨境電商倉(cāng)儲(chǔ)租賃合同合法經(jīng)營(yíng)拓展全球市場(chǎng)4篇
- 二零二五年度建筑工地鋼筋施工安全培訓(xùn)合同
- 二零二五版網(wǎng)絡(luò)短視頻剪輯師招聘合同范本3篇
- 二零二五年度建筑用沙子購(gòu)銷及環(huán)保審計(jì)合同3篇
- 2025年皮包原材料進(jìn)口合同二零二五年度版4篇
- 二零二五年度拍賣會(huì)籌備及組織服務(wù)合同4篇
- 2025年度牛羊肉品牌保護(hù)及侵權(quán)糾紛處理合同
- 二零二五年度內(nèi)墻抹灰工程質(zhì)量監(jiān)督合同范例
- 二零二五版摩托車二手車交易評(píng)估與收購(gòu)合同4篇
- 2025年建筑物清潔與智能安防系統(tǒng)維護(hù)合同3篇
- 2024-2025學(xué)年北京石景山區(qū)九年級(jí)初三(上)期末語(yǔ)文試卷(含答案)
- 第一章 整式的乘除 單元測(cè)試(含答案) 2024-2025學(xué)年北師大版數(shù)學(xué)七年級(jí)下冊(cè)
- 春節(jié)聯(lián)歡晚會(huì)節(jié)目單課件模板
- 中國(guó)高血壓防治指南(2024年修訂版)
- 糖尿病眼病患者血糖管理
- 抖音音樂(lè)推廣代運(yùn)營(yíng)合同樣本
- 教育促進(jìn)會(huì)會(huì)長(zhǎng)總結(jié)發(fā)言稿
- 北師大版(2024新版)七年級(jí)上冊(cè)數(shù)學(xué)第四章《基本平面圖形》測(cè)試卷(含答案解析)
- 心理調(diào)適教案調(diào)整心態(tài)積極應(yīng)對(duì)挑戰(zhàn)
- 小學(xué)數(shù)學(xué)6年級(jí)應(yīng)用題100道附答案(完整版)
- 噴漆外包服務(wù)合同范本
評(píng)論
0/150
提交評(píng)論