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