在Flash課件中正確調(diào)用SWF文件 |
作者:不詳 來源:多啦網(wǎng) 發(fā)布時間:2005-3-26 |
我們都知道,SWF文件是Flash輸出的標準文件格式之一,它的應用十分廣泛,在PowerPiont、Authorware等軟件中都可以輕松調(diào)用。那么如何在Flash中使用SWF文件呢?本文將為大家詳細介紹相關的技術。 為何要調(diào)用SWF文件 SWF文件的調(diào)用及控制 ![]() 第1步 啟動Flash Mx 2004,使用繪圖工具箱中的工具繪制界面,并添加一些文字。分別按“Ctrl+F8”創(chuàng)建所需要的按鈕,然后拖放到界面的合適位置。按“Ctrl+F8”創(chuàng)建一個名為“SWF”的影片(MovieClip),里面不進行任何設置,然后按“Ctrl+L”打開Library庫,將SWF影片拖放到場景中,并將其中心點和灰色區(qū)域的左上角重合,再單擊〔Properties〕(屬性)按鈕,將其“Instance Name”設置為“swf”,最后保存文件到某個文件夾(注意:所調(diào)用的SWF也要放置在這個文件夾中,否則將不能調(diào)用,如果原SWF文件設置了背景色,在調(diào)用時都會自動去除成為透明色)。 第2步 為場景的第1幀添加如下Actions語句: fscommand("fullscreen", true); //設置課件全屏播放。
fscommand("allowscale", false); //當課件窗口大小改變時,課件中的內(nèi)容保持原有尺寸。 loadMovie("片頭動畫.swf", "swf"); //調(diào)用片頭動畫到影片SWF中。 movie_sound = new Sound(swf); //捆綁影片SWF中的聲音文件。 movie_sound.setVolume(50); //設置影片SWF中音樂的音量為50,最高是100。 yinliang = movie_sound.getVolume(); //設置變量yinliang,使其值與影片SWF的音量相等。 第3步 為場景右側(cè)的文字按鈕加上Actions 語句,“片段一”按鈕的語句如下: on (release) { unloadMovie("swf"); //將SWF影片中的原有內(nèi)容清除。 loadMovie("片段一.swf", "swf"); //調(diào)用片段一文件至SWF影片中。 } “片段二”按鈕的語句如下: on (release) { unloadMovie("swf"); loadMovie("片段二.swf", "swf"); } 其余的幾個文字按鈕的語句與上面類似,只需要改變調(diào)用文件的名稱即可。 第4步 下面分別來設置控制按鈕的Actions語句: “播放”按鈕: on (release) { root.swf.play(); }//當單擊該按鈕時,當前場景中的SWF影片播放。
“暫停”按鈕: on (release) { _root.swf.stop(); }//當單擊該按鈕時,當前場景中的SWF影片暫停。 “快退”按鈕: on (release) { if (_root.swf._currentframe>=40) { _root.swf.gotoAndStop(_root.swf._currentframe-40); //當單擊該按鈕時,如果當前幀大于或等于40時,場景中的SWF影片從當前幀處減去40幀,實現(xiàn)快退,這里的40可根據(jù)具體情況設置。 } else { _root.swf.gotoAndStop(1); //否則SWF影片跳轉(zhuǎn)到第1幀。 } } “快進”按鈕: on (release) { _root.swf.gotoAndStop(_root.swf._currentframe+40); }//單擊該按鈕,SWF影片從當前幀加上40幀,從而實現(xiàn)了快進。 “回到開頭”按鈕: on (release) { _root.swf.gotoAndStop(1); } “跳到結(jié)尾”按鈕: on (release) { dangqianzhen = _root.swf._totalframes; //設置變量dangqianzhen的數(shù)值等于SWF影片的總幀數(shù),即最后一幀。 root.swf.gotoAndStop(dangqianzhen); //讓SWF影片跳轉(zhuǎn)到最后一幀。
} “增大音量”按鈕: on (release) { if (_root.yinliang<=90) { _root.yinliang = _root.yinliang+10; _root.movie_sound.setVolume(_root.yinliang); //如果當前音量的數(shù)值小于或等于90就加上10,然后設置SWF影片中的音樂音量為增加后的值。 } else { _root.movie_sound.setVolume(100); //否則設置音量為100,這是最大音量。 } } “減小音量”按鈕: on (release) { if (_root.yinliang>=10) { _root.yinliang = _root.yinliang-10; _root.movie_sound.setVolume(_root.yinliang); //如果當前音量的數(shù)值大于或等于10就減去10,然后設置SWF影片中的音樂音量為減少后的值。 } else {
_root.movie_sound.setVolume(0); //否則設置音量為0,這樣就沒有聲音了。 } } 最后在課件發(fā)布時,一定要把所有的SWF文件都放置到同一個文件夾中,否則在使用課件時,會提示調(diào)用的SWF文件找不到。 特殊SWF文件調(diào)用技巧 1. SWF文件的尺寸不符合:當調(diào)用的SWF文件的尺寸大于或小于顯示區(qū)域時,我們可以通過設置SWF影片的坐標和尺寸實現(xiàn)精確定位。語句示例如下: _root.swf._X=0; _root.swf._Y=0;
//設置SWF影片橫坐標和縱坐標的數(shù)值,可根據(jù)具體情況設置。 _root.swf._width =340; _root.swf.._height = 300; //設置SWF影片長度和寬度的數(shù)值,可根據(jù)具體情況設置,單位為像素。 _root.swf._xscale=50; _root.swf._yscale=50; //設置SWF影片縱橫比例為原來的二分之一,默認的原尺寸為100,可根據(jù)具體情況設置。 2. 只需要SWF文件中的一部分:當調(diào)用的SWF文件中的前一部分我們不需要,可以在使用loadMovie調(diào)用時,加上一句語句:_root.swf.gotoAndPlay(150)(假設從150幀處是我們需要的內(nèi)容)。當SWF文件的后一部分不需要時,我們只需要在播放到該部分時,讓影片暫停即可。其實當SWF文件加載到影片中的時候,影片的所有控制語句都可以用來對SWF文件進行控制,如:透明度(_alpha),角度(_rotation)等。 3. SWF文件中有特殊標志:一些SWF文件中的某個位置可能會有單位或作者的標志,在調(diào)用時會影響課件的整體效果。此時可以在SWF影片所在層的上面再增加一個新層,然后在新層中對應的位置繪制自己的標志遮擋原有的標志,如果原有的標志是運動的,繪制的標志也應進行相應的運動。 |