古詩詞大全網 - 成語查詢 - flash中as的問題

flash中as的問題

利用瀏覽器/網絡裏面的loadmovie可以把相對地址或者絕對地址的awf文件,jpeg文件方便的加載到壹部flash動畫中。並且我們還可以隨時卸載它。下面我們就來看看這個語句的語法以及用法。

具體步驟

1、 按照前兩部分的知識制作兩個flash動畫,分別命名為flash1和flash2。

2、 登陸互聯網,把flash2的swf文件發布到網站上,並獲得壹個作品的絕對地址。例如flash2.swf的絕對地址是:

http://218.91.255.11/UpLoadFile/2003112316165898169.swf

3、 打開flash1文檔,新建壹層,在第1幀新建壹個按鈕,命名為loadmovie flash2。如圖3.2.19所示。

圖3.2.19 新建按鈕loadmovie

4、 選中此按鈕,打開as面板,給按鈕增加觸發事件on(release)。

5、 雙擊全局函數|瀏覽器/網絡中的loadmovie命令,此命令就會自動添加到右側的輸入框中。如圖3.2.20所示。

圖3.2.20 loadmovie命令

6、 下面我們了解壹下loadMovie的各種參數的設置規律。RUL所欲加載的文件的絕對地址或者相對地址。我們在這裏填寫的是flash2.swf的絕對路徑 http://218.91.255.11/UpLoadFile/2003112316165898169.swf

7、 目標這裏面有兩項,壹個是級別,另壹個是目標。級別是加載的影片要放置到哪個級別層,並分配級別層編號。默認的級別層是0。分配個級別層的編號決定了相對其他級別的位置。如級別層為1,則加載的影片在原影片的上方。目標就是加載的影片賦予到壹個影片剪輯中,這個影片剪輯的屬性變化也決定了加載後的影片的變化。例如位置,大小,等等。在此例中,我們選擇“級別1”。

8、 方法指定發送變量所使用的 HTTP 方法。壹***三項選擇,“不發送”,如果沒有變量發送則學此項。“以GET方式發送”,用來發送少量變量。“以POST方式發送”用來發送長的變量字符串。在此例中我們沒有變量發送,所以選擇“不發送”。如圖3.2.21所示。

9、 保存,登陸互聯網進行測試。當我們播放flash1.swf文件時,單機“loadmovie”按鈕,就會看到flash2.swf文件被我們加載到flash1.swf文檔中了。如圖3.2.22所示。

圖3.2.22 最後效果

10、請參看源文件flash1,flash2。

註 意 ——填寫欲加載的swf文件的絕對地址的時候,朋友們經常把“http://”忽略了,我們要填入他的完整的地址。

提 示 ——利用loadmovie我們還可以加載jpeg圖片。

技 巧 ——獲得swf文件的絕對地址的方法,選擇論壇帖子中的瀏覽文件鼠標右鍵中的屬性,就可以看到它的URL。

試壹試 ——上例中我們把FLASH2.SWF加載在FLASH1.SWF得上壹層中,那麽我們試壹試FLASH2.SWF完全替換FALSH1.SWF。

特別提示

loadmovie命令可以允許我們把壹部完整的動畫分成幾個部分,分別放置在網絡空間中,播放壹部分以後加載壹部分,實現動態的加載,這樣大大緩解了文件體積過大而產生的下載等待緩慢的問題。也可以把壹部動畫中的各個元素分別放置,例如動畫與音樂分開放置。

特別說明

在論壇上,朋友們對loadmovie的問題很多。原因是loadmovie的用途非常廣泛。我們可以利用它的特性來制作內容龐大的電子相冊,觀看我壹個照片以後,卸載前壹個,同時加載後壹個,這樣始終保持文件的體積精悍。

相關問題

◎如何利用loadmovie在本地硬盤制作電子相冊?

使用loadmovie語句來制作電子相冊是壹個非常簡單有效果的辦法。因為,如果我們利用傳統的辦法把照片導入到flash中去,文件的體積必然龐大。最重要的是照片的數量是不斷增加的,如果我們想把新照片增加到電子相冊中,就必然要在flash中修改,是非常麻煩的。我們利用loadmovie就可以輕松的解決這個問題。

現在我們就利用目前掌握的知識,最簡單的辦法來實現電子相冊的效果。

首先,我們新建壹個flash文檔,並整理四張jpeg圖片分別命名為pic1,lic2……,把他們放到同壹目錄下。

第二,在圖層1的第2幀插入關鍵幀,打開as面板,填入as:

stop();

loadMovieNum(“pic1.jpg”,1);

以此類推,分別在第3幀,第4幀,第5幀進行如上設置。

第三,新建壹個圖層,在第1幀我們制作壹個按鈕,並給第1幀添加as;stop();使其開始的時候停止播放。

第四,選擇按鈕,在按鈕上添加as ;on(release){ //當按鈕點擊時,執行下面的語句。

nextFrame(); //播放下壹幀

}

我們來測試壹下效果吧?當單擊按鈕的時候,圖片被加載進來了。這是壹個比較簡單的例子,朋友們可以通過編寫按鈕的控制as來進行加載。也可以在加載的同時設置圖片的各種屬性,例如透明度,位置等等。

本例只是向朋友們簡單介紹壹下loadmovie的功能。參看源文件pic。當我們向電子相冊裏面增加照片的時候,只要把 as設置壹些就ok了,非常方便。

註 意 ——在圖層1的第2幀的as中,為什麽沒有寫成loadmovieNum(“pic1.jpg”,0);呢?原因在於,加載進來的jpg會替代同級別的內容。如果這樣設置的話,就把我們設置的按鈕替換掉了。我們利用這個特性,在加載第3幀的時候沒有卸載第2幀的圖片。

提 示 ——1、loadMovie的圖片個是必須是jpeg格式。

2、loadMovie進來的swf和jpg都會以場景的左上角對齊。

3、使用絕對地址的方法與上例相同。

◎如何指定導入外部swf文件的位置?

這個問題是關於loadmovie語句中問得最多的問題。在上壹個問題中,我們已經向大家介紹了導入進來的swf和jpg會默認與場景的左上角對齊。但是有的時候我們需要認為確定導入的位置,那麽我們就通過建立壹個空的影片剪輯來實現。

解決思路是我們在場景中可以有效果的控制影片剪輯的位置,大小等屬性,那麽我們把swf或者jpg導入到這個影片剪輯中,通過制定這個影片剪輯的屬性來完成修改導入文件的屬性。

首先我們準備壹個flash1文檔和flash2文檔,我們要把flash2導入到flash1中。

我們下把flash2發布成名稱為2的swf文件。

然後在flash1中我們新建壹個影片剪輯,命名為“mymc”。在這個影片剪輯中我們什麽也不做,直接保存。這就是所說的空的影片剪輯。

把“mymc”拖放到場景中,在下面的屬性面板中,填入這個影片剪輯的分身名“mymc”。如圖3.2.23所示。

圖3.2.23 設置影片剪輯的分身名

新建壹層,在第1幀填加as:stop();是動畫在第1幀就停止播放。然後在第1幀種繪制壹個按鈕。選中按鈕,打開as面板,填寫as:

on(release){ //當按鈕單擊時執行下面的動作。

loadMovieNum(“2.swf”, mymc); //加載2.swf到目標影片剪輯mymc

setProperty(“_root.mymc”,_x,150); //設置影片剪輯mymc的x軸位置為150。

setProperty(“_root.mymc”,_y,50); //設置影片剪輯mymc的y軸位置為50。

}

好了,我們保存發布。單擊按鈕以後,2.swf被加載到1.swf影片中了。我們可以通過改變影片剪輯的坐標位置來改變導入影片的位置,大小等屬性。

註 意 ——1,空的影片剪輯mymc必須要拖放到場景中。

2,必須要給影片剪輯設置分身名,不然as無法判斷要控制誰?

提 示 ——1,上例的設置1.swf文件和2。Swf文件必須在同壹目錄下。

2,load進來的swf文件的背景,幀頻等,會與主動畫保持壹致。

◎如何卸載已經加載影片中的swf?

在瀏覽器/網絡裏面有壹條語句unloadMovie,是專門用來卸載loadMovie進來的swf和jpg的。他的參數比較好理解,因為我們在上面學習了loadMovie,unloadMovie是與其相反的。

目標中帖子需要卸載的swf的名稱。例如,妳把1.swf文件loadMovie名字叫2.swf,想要卸載它,那麽就在目標上填入2.swf。與loadMovie的用法相同,只不過作用是相反的。

UnloadMovie可以加在按鈕上,也可以放置在幀中。

◎可以精確控制load進來的swf文件的播放時間嗎?

這位朋友的意思是,加載進來的swf影片不馬上播放,而是指定時間播放。例如:想在主動畫的第100幀播放外部動畫1.swf,那麽在100幀填加loadmovie,由於網絡速度,電腦配置等原因,而無法在100幀的時候播放這個1.swf動畫。有辦法解決嗎?從Flash的角度來講,這是辦不到的。正如上面所說的,加載命令是可以實現的,但是由於客觀因素的影響,我們無法控制播放時間。