這篇是我翻譯的來自actionscript的文章,現(xiàn)在拿出來與大家共享,錯誤之處請指出,loadmovie的問題很多人都問,做網站也經常用到,所以就挑了這樣一篇來翻譯(不過這個教程的側重點在于,某些FLASH站點的按鈕在點擊時會發(fā)生停滯現(xiàn)象,雖然不多見,但也偶然存在,這個教程在中間加了一個initializing的swf,很有趣也很實用),不足之處請高手指點:
演示
由于原教程沒有提供原文件,這里是偶做的一個~
當開始建造一個FLASH站點并將不同的菜單動畫載入的時候,我注意到當點擊一個菜單按鈕時偶爾(但并不是經常性的)會有一點點停滯現(xiàn)象,甚至用預載程序這種現(xiàn)象有時依然存在,我個人認為這種停滯現(xiàn)象(也許是由于網絡連接的原因)會導致我們的瀏覽者,甚至于我們的客戶產生這樣那樣的疑問:“這個站點出什么問題了嗎?我點擊了按鈕但是什么事都沒發(fā)生?!”然而,假如他們能夠等到足夠長的時間,也許會發(fā)生一些變化,菜單按鈕所連接的影片遲早會出現(xiàn)的不是嗎?但是我們不能依賴客戶的等待,而且我們也沒有理由讓他們這么做!因此,我構思設計了一個“正在初始化的片段”,無論任何的停滯出現(xiàn)之前,一個小的MOVIECLIP都會呈現(xiàn)在瀏覽者的面前。這樣,觀眾就可以知道有程序在運行。這并不是筆者原創(chuàng)的意圖,而且我也肯定有無數(shù)的辦法來解決這個問題,但是這至少是目前一種比較簡單而且行之有效的途徑。
注釋:示例中的停滯現(xiàn)象是作者模擬實現(xiàn)的。
1,首先,創(chuàng)建主場景影片main,這是基礎場景,所有其他的片段都將要被載入到這個主場景的最頂層來,主場景背景色的選擇將決定其余片段的背景。當然你可以在這段影片里放置任何你想要放置的東西,LOGO或其他圖片等等,但是現(xiàn)在,只需要打一些字上去即可。
2,下一步,在main影片上創(chuàng)建第二個層,在第一幀上點擊鼠標右鍵,從下拉菜單中選擇打開Action面板。點擊Basic Action,然后雙擊Load Movie,在URL欄里輸入“Interface.swf”,Level里輸入3,代碼如下: loadMovieNum ("Interface.swf", 3); 代碼解釋:你正在要求FLASH在深度為3的級別上載入名為Interface的影片(下面幾步我們將制作它),它將是我們這里所制作在最高深度級別的swf片段。
3,現(xiàn)在,用同樣大小的尺寸定義并創(chuàng)建一個新的.fla文件,將其命名為Interface.fla,我們將用最高的深度級別將它載入到main.swf里,這樣它就可以位于最終影片主場景的最上層,從而一直會呈現(xiàn)在瀏覽者面前(適合做導航欄)。首先,創(chuàng)建一個圖象面板(就象一個控制臺?)使它位于影片的最頂部,如果愿意你可以在上面輸入“Interface”幾個字,然后給予它一個不同于(Main)主場景的顏色。
4,在interface.fla中創(chuàng)建一個新的層,并命名為“actions”,在第一幀上點擊右鍵打開Action面板,點擊Basic Action,然后雙擊Load Movie,在URL欄里輸入“InitializingMovie.swf”,深度為2,代碼如下:loadMovieNum ("InitializingMovie.swf", 2);
代碼解釋:在深度為2的級別上載入名為InitializingMovie的影片(下一步我們將制作)。
5,在當前層創(chuàng)建一個簡單的按鈕,這一步里,我們只需要建立一個最簡單的按鈕,起名為“ONE”;(當然在你創(chuàng)建自己的頁面時,你就會在你的導航欄中建立許多個菜單按鈕了)將這個按鈕放置到Interface面板上。
6,在按鈕上點擊鼠標右鍵打開Action面板,在Basic Actions里雙擊'On Mouse Event',輸入下面的代碼: on (release) { tellTarget("_level2"){ gotoAndPlay (2); } } on (release) { loadMovieNum ("MovieOne.swf", 1); }
代碼解釋:當用戶點擊這個按鈕時(無論哪一個位于level2的影片片段)都將從第二幀開始運行。就象你會在下面的步驟看到的一樣,載入影片(Initializing Movie - 下一步創(chuàng)建)的第一幀是空幀,所以通過命令它播放第二幀,我們就可以產生并使它可見,請記住,此時它已經被Interface Movie載入了……
7,現(xiàn)在我們應該創(chuàng)建載入的影片了,用同樣的大小創(chuàng)建第三個.fla文件,將它另存為“InitializingMovie”(注意不要空格)。建立三個層,每個層有兩個關鍵幀。其中兩個層用來放置你的圖象元素。在底層,空出第一個關鍵幀,在第二幀里建立一個簡單的圖象;在中間層,同樣空出第一個幀不管它,在第二幀創(chuàng)建文字“INITIALIZING”,如果愿意你可以讓它產生一些變化;最頂層(第三層),在兩個關鍵幀里都加入Action -“Stop”。
8,現(xiàn)在創(chuàng)建一個同樣大小的新的.fla文件,這是你的菜單和內容影片,另存為“MovieOne”。當然,實際的頁面會包含那些另人激動的畫面以及讓瀏覽者賞心悅目的界面,但是這只是個練習,只放入一些圖片和文字吧,這讓你可以在預覽時能馬上看到他們的效果。
9,最重要的步驟是給出關鍵的action來讓Initializing 影片“走開并消失”,因此,在新建的一層中輸入以下代碼作為第一幀的Action:
tellTarget ("_level2") { gotoAndPlay (1); }
當“Movie One” 開始播放時,上面的代碼便觸發(fā),它告訴載入影片(Initializing Movie - Level 2的唯一影片)回到第一幀,因為Initializing的第一幀是空白的,所以它就變?yōu)椴豢梢娏耍。ㄔ谑纠校琈ovieOne中有一個額外附加的Scene,這個場景的作用只是為了模擬網絡延時而存在的,在你的正式作業(yè)時它并不需要存在!假如真實的環(huán)境中沒有延時現(xiàn)象的話,那么載入影片在內容影片出現(xiàn)的同時會馬上消失。但是如果一直沒有內容出現(xiàn)的話,那么你那出色的載入影片將使瀏覽者確信后臺正在運行中)
10,現(xiàn)在發(fā)布你的.swf文件并測試你的成果吧,假如什么地方有差錯的話,那么要證實你的.fla文件名以及action scripts里語法的拼寫是正確的,假如有一點地方出錯誤,或者空格不應該出現(xiàn)等,那么整個程序就不會正常運行。同時確認一下所有的文件是否在一個目錄或文件夾里。
11,不要忘記,你的載入影片可以做任何你想讓它做的事情,閃動、舞蹈、旋轉,甚至可以被拖動。但不要將它做的太大,因為它要馬上被載入并顯示出來。
出處:藍色理想
責任編輯:無意
◎進入論壇Flash專欄版塊參加討論
|