萬盛學電腦網

 萬盛學電腦網 >> 圖文處理 >> Flash教程 >> Flash加載外部文件的方法及其技巧

Flash加載外部文件的方法及其技巧

現在我們將Flash加載外部文件的各種方法與技巧總結如下。
  一、用loadVariables調用外部文本文件
   文本文件開頭要以flash中的動態文本框的變量名開頭,如msg="………."這樣的形式,要和編輯的Flash文件放在同一目錄下。
   具體調用方式如下:
  1.用工具箱中的文本工具,選擇動態文本,給動態文本一個變量名,如:msg,在編輯區拖出一個文本框
  2.制作兩個按扭(一個調用,一個清除)拖放到場景中。
  3.在調用按扭上添加AS代碼:
on(release){//松開鼠標後執行下面的代碼;
 loadVariables("msg.txt",msg);//調用和你編輯的Flash處於同一目錄下的msg.txt文本文件到動態文本msg中;
 System.useCodepage=true;//使外部文件的中文字符能夠正確顯示;
}
  4.清除按扭上的AS代碼:
on(release){//松開鼠標後清楚動態文本框中的內容;
  msg="";
}
 
  Ctrl+Enter測試.
  當然代碼也可以寫在幀上:(調用按扭的實例名是bt1,清除按扭的實例名是bt2)
  第一幀上加如下代碼:
stop();
_root.bt1.onRelease=function(){
loadVariables("msg.txt",msg);
System.useCodepage=true;
}
_root.bt2.onRelease=function(){
_root.msg="";
}
 
  Ctrl+Enter測試.
  進階:讓調用的外部文本文件能夠滾動
  1.用工具箱中的文本工具,選擇動態文本,給動態文本一個變量名,如:msg,在編輯區拖出一個文本框
  2.新建一層,制作兩個按扭(一個調用,一個清除)拖放到此層中
  3.新建一層,在動態文本框的右側用矩形工具畫一個豎條,高度和動態文本一樣;再制作一個向上的方向"箭頭"按F8轉為按扭元件;復制一個"箭頭"按扭,垂直鏡象,使這兩個按扭和豎條的兩端對齊.
    4.調用按扭上的AS代碼:
on(release){//松開鼠標後執行下面的代碼;
 loadVariables("msg1.txt",msg);//調用msg1.txt文本文件到動態文本框msg中;
 System.useCodepage=true;//使外部文件的中文字符能夠正確顯示;
}
  清除按扭上的AS代碼:
on(release){
 _root.msg="";//清除動態文本框中的內容;
}
 
  向上按扭上的AS代碼:
on(press){//在按扭的感應區上每按一次鼠標執行下面的代碼;
 _root.msg.scroll=_root.msg.scroll-1;//文本向下滾動一行;
}
 
  向下按扭上的AS代碼:
on(press){//在按扭的感應區上每按一次鼠標執行下面的代碼;
 _root.msg.scroll=_root.msg.scroll+1;//文本向上滾動一行;
}
Ctrl+Enter測試.
  當然代碼也可以寫在幀上:(調用按扭的實例名是bt1,清除按扭的實例名是bt2,向上按扭的實例名是:up,向下按扭上的實例名是down)
在第一幀上加如下代碼:
_root.bt1.onRelease=function(){//松開鼠標後執行下面的代碼;
 loadVariables("msg1.txt",msg);//調用msg1.txt文本文件到動態文本框msg中;
 System.useCodepage=true;//使外部文件的中文字符能夠正確顯示;
}
_root.bt2.onRelease=function(){//松開鼠標後執行
 _root.msg="";//清除動態文本框中的內容;
}
_root.up.onPress=function(){//在向上按扭上每按一次鼠標執行下面的代碼;
 _root.msg.scroll=_root.msg.scroll-1;//文本向下滾動一行;
}
_root.down.onPress=function(){//在向下按扭上每按一次鼠標執行下面的代碼;
_ root.msg.scroll=_root.msg.scroll+1;//文本向上滾動一行;
}
 
  Ctrl+Enter測試。
  二、用loadMovie調用外部*.swf文件
 
  (一)調用外部*.swf文件加載到影片剪輯中
 
   外部*.swf文件要和編輯的Flash文件放在同一目錄下
   1.新建立一個空的影片剪輯mymc,把它放在場景中,實例名是:mymc.
 
   2.新建一層,制作兩個按扭(一個調用,一個清除)拖放到此層中
   3.調用按扭上的AS代碼:
on(release){//鼠標離開按扭後執行下面的代碼;
 loadMovie("flash8.swf","mymc");//加載外部的"flash8.swf"文件到"mymc"空影片剪輯中;
 mymc._x=70;//加載影片的X軸坐標;
 mymc._y=20;//加載影片的Y軸坐標;
 mymc._xscale=70;//加載影片的寬度;
 mymc._yscale=70;//加載影片的高度;
}
  清除按扭上的AS代碼:
on(release){//鼠標離開按扭後執行下面的代碼
 unloadMovie(mymc);//刪除用loadMovie加載的*.swf文件;
}
 
  Ctrl+Enter測試
  (二)調用外部*.swf文件並加載到時間軸上
 
   外部*.swf文件要和編輯的Flash文件放在同一目錄下
   1.制作兩個按扭(一個調用,一個清除)拖放到場景中
   2.調用按扭上的AS代碼:
on(release){//鼠標離開按扭後執行下面的代碼
 loadMovie("flash8.swf",1);//加載外部的"flash8.swf"文件到場景中,層深為1;
}
  清除按扭上的AS代碼:
on(release){//鼠標離開按扭後執行下面的代碼
 unloadMovie(1);//刪除層深為1的用loadMovie所加載的"flash8.swf"文件
}
  Ctrl+Enter測試 。
  當然二和三的代碼都可以寫在幀上。
三、用loadMovie調用外部圖片,加載到影片剪輯中
 
  將外部圖片必須和正在編輯的Flash文件放在同一目錄下
  1.制作兩個按扭(一個調用,一個清除)拖放到場景中
  2.制作一個空的影片剪輯,拖到場景中,實例名是:mymc;
  3.時間軸上第一幀上的AS如下: i=0;//定義一個變量i,並且賦初值為0;
  調用按扭上的AS代碼:
on(release){//鼠標離開按扭後執行下面的代碼;
 i++;
 if(i>9){//因為外面這有9張圖,當變量大於9的時候,讓變量為1,這樣能夠使加載的圖片是連續的,即,每點一次按扭,就換一張圖,等到換到第9張圖,再點按扭,則循環到第一張圖(j1.jpg到j9.jpg,因為沒有j0.jpg,如果i=0,則會提示沒有找到j0.jpg);
  i=1;
 }
 loadMovie(("j"+i)+".jgp",mymc);//從j1.jpg開始加載圖片到影片剪輯mymc中;
 mymc._x=110;//以下設置加載圖片的屬性
 mymc._y=35;
 mymc._xscale=130;
 mymc._yscale=130;
}
清除按扭上的AS代碼:
on(release){
 unloadMovie(mymc);//刪除掉用loadMovie加載到影片剪輯的圖片;
}
Ctrl+Enter測試。當然AS代碼也可以寫在幀上。
  四、用mySound.loadSound調用外部聲音文件,加載到場景中
 
  外部聲音文件必須和正在編輯的Flash文件放在同一目錄下
   1.制作兩個按扭(一個調用,一個清除)拖放到場景中
   2.調用按扭上的AS代碼:
on(release){//鼠標離開按扭後執行下面的代碼;
 mySound=new Sound();//建立一個新的聲音對象mySound;
 mySound.loadSound("zaihuni.mp3″,true);//加載外部的*.mp3聲音文件到mySound對象中,並且按流的方式播放(參數為false時,是以裝載完後播放);
}
清除按扭上的AS代碼: 
on(release){
 mySound.stop();//當按下清除按扭後,停止聲音的播放

Ctrl+Enter測試。
 五、用loadMovieNum()函數調用所有外部文件
   (一)loadMovieNum()函數詳解
  用法:loadMovieNum("url",level [, variables])
  功能:在播放原來加載的 SWF 文件的同時將 SWF 文件或 JPEG 文件加載到 Flash Player 中的某個級別。
  參數:該函數有3個參數:url、target、variables。variables 是可選參數。
   1.參數url:要加載的 SWF 文件或 JPEG 文件的絕對或相對 URL(路徑)。該函數的此參數和上面loadMovie中的此參數用法完全一致,這裡不再作解釋。
   2.參數level:一個整數,指定 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,級別大的將覆蓋掉級別小的,即:數字大的將處於數字小的之上(如上例:03.swf處

copyright © 萬盛學電腦網 all rights reserved