久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Flash,Flash加載外部文件的各種方法與技巧

 王樂散 2011-04-18

Flash加載外部文件的各種方法與技巧


  Flash可以通過幀、按扭,、影片剪輯來調(diào)用外部文件,。調(diào)用的外部文件包括:外部文本文件、外部程序文件,、外部*.swf文件、外部圖片文件,、外部音樂文件,、外部腳本文件等。
  現(xiàn)在我們將Flash加載外部文件的各種方法與技巧總結(jié)如下,。

 

  一,、用loadVariables調(diào)用外部文本文件

   文本文件開頭要以flash中的動態(tài)文本框的變量名開頭,如msg="………."這樣的形式,,要和編輯的Flash文件放在同一目錄下,。
   具體調(diào)用方式如下:

  1.用工具箱中的文本工具,選擇動態(tài)文本,,給動態(tài)文本一個變量名,,如:msg,在編輯區(qū)拖出一個文本框
  2.制作兩個按扭(一個調(diào)用,一個清除)拖放到場景中,。
  3.在調(diào)用按扭上添加AS代碼:

on(release){//松開鼠標(biāo)后執(zhí)行下面的代碼,;
 loadVariables("msg.txt",msg);//調(diào)用和你編輯的Flash處于同一目錄下的msg.txt文本文件到動態(tài)文本msg中;
 System.useCodepage=true;//使外部文件的中文字符能夠正確顯示,;
}

  4.清除按扭上的AS代碼:

on(release){//松開鼠標(biāo)后清楚動態(tài)文本框中的內(nèi)容,;
  msg="";
}

  Ctrl+Enter測試.

  當(dāng)然代碼也可以寫在幀上:(調(diào)用按扭的實(shí)例名是bt1,清除按扭的實(shí)例名是bt2)
  第一幀上加如下代碼:

stop();
_root.bt1.onRelease=function(){
loadVariables("msg.txt",msg);
System.useCodepage=true;
}
_root.bt2.onRelease=function(){
_root.msg="";
}

  Ctrl+Enter測試.

  進(jìn)階:讓調(diào)用的外部文本文件能夠滾動
  1.用工具箱中的文本工具,選擇動態(tài)文本,,給動態(tài)文本一個變量名,,如:msg,在編輯區(qū)拖出一個文本框
  2.新建一層,制作兩個按扭(一個調(diào)用,一個清除)拖放到此層中
  3.新建一層,在動態(tài)文本框的右側(cè)用矩形工具畫一個豎條,高度和動態(tài)文本一樣;再制作一個向上的方向"箭頭"按F8轉(zhuǎn)為按扭元件;復(fù)制一個"箭頭"按扭,垂直鏡象,使這兩個按扭和豎條的兩端對齊.
   4.調(diào)用按扭上的AS代碼:

on(release){//松開鼠標(biāo)后執(zhí)行下面的代碼,;
 loadVariables("msg1.txt",msg);//調(diào)用msg1.txt文本文件到動態(tài)文本框msg中,;
 System.useCodepage=true;//使外部文件的中文字符能夠正確顯示,;
}

  清除按扭上的AS代碼:

on(release){
 _root.msg="";//清除動態(tài)文本框中的內(nèi)容;
}

  向上按扭上的AS代碼:

on(press){//在按扭的感應(yīng)區(qū)上每按一次鼠標(biāo)執(zhí)行下面的代碼;
 _root.msg.scroll=_root.msg.scroll-1;//文本向下滾動一行;
}

  向下按扭上的AS代碼:

on(press){//在按扭的感應(yīng)區(qū)上每按一次鼠標(biāo)執(zhí)行下面的代碼;
 _root.msg.scroll=_root.msg.scroll+1;//文本向上滾動一行;
}

   Ctrl+Enter測試.

  當(dāng)然代碼也可以寫在幀上:(調(diào)用按扭的實(shí)例名是bt1,清除按扭的實(shí)例名是bt2,向上按扭的實(shí)例名是:up,向下按扭上的實(shí)例名是down)
在第一幀上加如下代碼:

_root.bt1.onRelease=function(){//松開鼠標(biāo)后執(zhí)行下面的代碼;
 loadVariables("msg1.txt",msg);//調(diào)用msg1.txt文本文件到動態(tài)文本框msg中,;
 System.useCodepage=true;//使外部文件的中文字符能夠正確顯示,;
}
_root.bt2.onRelease=function(){//松開鼠標(biāo)后執(zhí)行
 _root.msg="";//清除動態(tài)文本框中的內(nèi)容;
}
_root.up.onPress=function(){//在向上按扭上每按一次鼠標(biāo)執(zhí)行下面的代碼;
 _root.msg.scroll=_root.msg.scroll-1;//文本向下滾動一行;
}
_root.down.onPress=function(){//在向下按扭上每按一次鼠標(biāo)執(zhí)行下面的代碼;
_ root.msg.scroll=_root.msg.scroll+1;//文本向上滾動一行;
}

  Ctrl+Enter測試。

 

  二,、用loadMovie調(diào)用外部*.swf文件

 ?。ㄒ唬┱{(diào)用外部*.swf文件加載到影片剪輯中


   外部*.swf文件要和編輯的Flash文件放在同一目錄下
   1.新建立一個空的影片剪輯mymc,把它放在場景中,實(shí)例名是:mymc.
   2.新建一層,制作兩個按扭(一個調(diào)用,,一個清除)拖放到此層中
   3.調(diào)用按扭上的AS代碼:

on(release){//鼠標(biāo)離開按扭后執(zhí)行下面的代碼,;
 loadMovie("flash8.swf","mymc");//加載外部的"flash8.swf"文件到"mymc"空影片剪輯中;
 mymc._x=70;//加載影片的X軸坐標(biāo),;
 mymc._y=20;//加載影片的Y軸坐標(biāo),;
 mymc._xscale=70;//加載影片的寬度;
 mymc._yscale=70;//加載影片的高度,;
}

  清除按扭上的AS代碼:

on(release){//鼠標(biāo)離開按扭后執(zhí)行下面的代碼
 unloadMovie(mymc);//刪除用loadMovie加載的*.swf文件,;
}

  Ctrl+Enter測試

  (二)調(diào)用外部*.swf文件并加載到時間軸上

   外部*.swf文件要和編輯的Flash文件放在同一目錄下
   1.制作兩個按扭(一個調(diào)用,一個清除)拖放到場景中
   2.調(diào)用按扭上的AS代碼:

on(release){//鼠標(biāo)離開按扭后執(zhí)行下面的代碼
 loadMovie("flash8.swf",1);//加載外部的"flash8.swf"文件到場景中,,層深為1;
}

  清除按扭上的AS代碼:

on(release){//鼠標(biāo)離開按扭后執(zhí)行下面的代碼
 unloadMovie(1);//刪除層深為1的用loadMovie所加載的"flash8.swf"文件
}

  Ctrl+Enter測試 ,。
  當(dāng)然二和三的代碼都可以寫在幀上。

  三,、用loadMovie調(diào)用外部圖片,,加載到影片剪輯中

  將外部圖片必須和正在編輯的Flash文件放在同一目錄下
  1.制作兩個按扭(一個調(diào)用,一個清除)拖放到場景中
  2.制作一個空的影片剪輯,,拖到場景中,,實(shí)例名是:mymc;
  3.時間軸上第一幀上的AS如下:

i=0;//定義一個變量i,并且賦初值為0,;

  調(diào)用按扭上的AS代碼:

on(release){//鼠標(biāo)離開按扭后執(zhí)行下面的代碼,;
 i++;
 if(i>9){//因?yàn)橥饷孢@有9張圖,當(dāng)變量大于9的時候,,讓變量為1,,這樣能夠使加載的圖片是連續(xù)的,即,,每點(diǎn)一次按扭,,就換一張圖,等到換到第9張圖,,再點(diǎn)按扭,,則循環(huán)到第一張圖(j1.jpg到j(luò)9.jpg,因?yàn)闆]有j0.jpg,如果i=0,則會提示沒有找到j(luò)0.jpg);
  i=1;
 }
 loadMovie(("j"+i)+".jgp",mymc);//從j1.jpg開始加載圖片到影片剪輯mymc中,;
 mymc._x=110;//以下設(shè)置加載圖片的屬性
 mymc._y=35;
 mymc._xscale=130;
 mymc._yscale=130;
}

  清除按扭上的AS代碼:

on(release){
 unloadMovie(mymc);//刪除掉用loadMovie加載到影片剪輯的圖片,;
}

  Ctrl+Enter測試,。當(dāng)然AS代碼也可以寫在幀上。

  四,、用mySound.loadSound調(diào)用外部聲音文件,,加載到場景中

  外部聲音文件必須和正在編輯的Flash文件放在同一目錄下
   1.制作兩個按扭(一個調(diào)用,一個清除)拖放到場景中
   2.調(diào)用按扭上的AS代碼:

on(release){//鼠標(biāo)離開按扭后執(zhí)行下面的代碼,;
 mySound=new Sound();//建立一個新的聲音對象mySound;
 mySound.loadSound("zaihuni.mp3″,true);//加載外部的*.mp3聲音文件到mySound對象中,,并且按流的方式播放(參數(shù)為false時,是以裝載完后播放),;
}

  清除按扭上的AS代碼:

on(release){
 mySound.stop();//當(dāng)按下清除按扭后,,停止聲音的播放
}

  Ctrl+Enter測試。

  五,、用loadMovieNum()函數(shù)調(diào)用所有外部文件

   (一)loadMovieNum()函數(shù)詳解

  用法:loadMovieNum("url",level [, variables])
  功能:在播放原來加載的 SWF 文件的同時將 SWF 文件或 JPEG 文件加載到 Flash Player 中的某個級別,。
  參數(shù):該函數(shù)有3個參數(shù):url、target,、variables,。variables 是可選參數(shù)。

   1.參數(shù)url:要加載的 SWF 文件或 JPEG 文件的絕對或相對 URL(路徑),。該函數(shù)的此參數(shù)和上面loadMovie中的此參數(shù)用法完全一致,,這里不再作解釋。
   2.參數(shù)level:一個整數(shù),,指定 SWF 文件將加載到Flash Player中的哪個級別。加載的時候,,可以這樣來寫:

 

  loadMovieNum("01.swf", 1);
   loadMovieNum("02.swf", 2);
   loadMovieNum("03.swf", 3);

  loadMovieNum加載后的控制可以這樣使用:

  _level1._x=10 ;
   _level2.aa._alpha=50 ;
   _level3.aa.bb._width=110;
   _level4.mysound.stop();// 加載到級別為4的對象MC:mysound停止(播放音樂)

  需要注意的的是,,每一個級別只能同時存在一個 SWF 或 JPEG 文件。如果兩個 SWF 或 JPEG 文件的級別相同,,那么后者將替換掉前者,。級別不同的_level,級別大的將覆蓋掉級別小的,,即:數(shù)字大的將處于數(shù)字小的之上(如上例:03.swf處在02.swf和01.swf上方,,02.swf處在01.swf上方) 。

  注意:如果將 SWF 文件加載到級別 0,,則 Flash Player 中的每個級別均被卸載,,并且級別 0 將替換為該新文件。處于級別 0 的 SWF 文件為所有其它加載的 SWF 文件設(shè)置幀頻,、背景色和幀大小,。如:


loadMovieNum("00.swf", 0); //以下均不顯示,這樣只有一個00.swf
loadMovieNum("01.swf", 1);
loadMovieNum("02.swf", 2);
loadMovieNum("03.swf", 3);

  3.參數(shù)variables:可選參數(shù),,指定發(fā)送變量所使用的 HTTP 方法,。該參數(shù)必須是字符串 GET 或 POST,。如果沒有要發(fā)送的變量,則省略此參數(shù),。GET 方法將變量追加到 URL 的末尾,,它用于發(fā)送少量的變量。POST 方法在單獨(dú)的 HTTP 標(biāo)頭中發(fā)送變量,,它用于發(fā)送大量的變量,。

  (二)loadMovieNum()的卸載外部文件調(diào)用
   使用 unloadMovieNum() 可刪除用 loadMovieNum() 加載的 SWF 文件或圖像。
   用法: unloadMovieNum(level)
   參數(shù): level 所加載影片的級別 (_levelN),。
   如:

on(release){
    unloadMovieNum (1200);//如下:unloadMovieNum (_level1200);不能卸載
    loadMovieNum ("sje.swf",1200)
    }

  (三)lloadMovieNum()的定位
   從前面我們已經(jīng)知道了,,函數(shù)loadMovieNum是將 SWF 或 JPEG 文件加載到_level(級別)的。并且是用_level1._x,、_level2._x,、_level1.aa._x之類的來定位的。比如我們要將02.swf加載到主場景坐標(biāo)系的(50,100)中,,代碼如下:

  loadMovieNum ( “02.swf" , 1 ); //極有可能不能如愿定位
_level1. _x = 50 ;
_level1. _y = 100 ;

 

   但是在測試的時候大家會發(fā)現(xiàn)加載進(jìn)來的02.swf并沒有如我們預(yù)期的那樣出現(xiàn)在主場景坐標(biāo)系的(50,100)位置,,這是為什么呢?

  原來,,在沒有使用loadMovieNum以前,,所有的圖形、MC等等都是處于_level0里的,,我們通常使用的_root其實(shí)就是_level0,。你可以作個測試:trace(_root==_level0),你會發(fā)現(xiàn)返回值是“true",。

  那么,,我們用loadMovieNum加載 SWF 或 JPEG 文件的時候,程序就要對你指定的_level進(jìn)行創(chuàng)建,,隨后再緊接著載入 SWF 或 JPEG 文件,。如果像剛才代碼中寫的那樣,不判斷_level是否存在而調(diào)用其屬性,,勢必?zé)o功而反,。

  解決的方法也很簡單,就是用一個循環(huán)來判斷指定的_level是否存在,。一旦_level產(chǎn)生,,那么它的種種屬性自然可以調(diào)用了。代碼如下:

loadMovieNum ( “02.swf" , 1 ); //如愿定位
onEnterFrame = function () {
  if ( _level1 ) {
   with ( _level1 ) {
    _x = 50 ;
    _y = 100 ;
   }
  delete onEnterFrame ;
 }
};

  或者:(上面的代碼較好些)

loadMovieNum ( “02.swf" , 1 );
 function go () {
  if ( _level1 ) {
   with ( _level1 ) {
    _x = 50 ;
    _y = 100 ;
   }
  clearInterval ( fps ); //清除對 setInterval() 的調(diào)用
 }
}
fps = setInterval ( go,100 );//每隔一定的時間,,就調(diào)用函數(shù),、方法或?qū)ο?/td>

 


   再或者大家可以使用Macromedia Flash MX 2004中的MovieClipLoader類來判斷加載狀態(tài)。

  注意:深度depth值越大,其加載的內(nèi)容越往后,,即越在下層,,處于下方,被遮蓋,;這與級別標(biāo)識符_levelN 相反,,在_levelN 中 N 值越大,其加載的內(nèi)容越往前,,即越在上層,,處于上方。

  (四)小技巧:用lloadMovieNum()保護(hù)你的作品——使用虛假的文件后綴

   其實(shí)加載外部文件的擴(kuò)展名不一定非得以 .swf 命名,,雖然加載的影片也在IE的臨時文件夾中,,但已是自定義的文件格式了,這樣可以起到保護(hù)作用,。

   例如:

loadMovieNum("feng.exe",0);//加載feng.swf 將擴(kuò)展名改為—> feng.exe加載
/*
loadMovieNum("feng.txt",0); //加載feng.swf 將擴(kuò)展名改為—> feng.txt 加載
loadMovieNum("feng.doc",0); //加載feng.swf 將擴(kuò)展名改為—> feng.doc 加載
loadMovieNum("feng.abcde",0); //加載feng.swf將擴(kuò)展名改為 —> feng.abcde 加載
loadMovieNum("feng",0); //加載feng.swf 將擴(kuò)展名刪除—> feng 加載
*/


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多