麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 辦公 > Flash > 正文

Flash AS 入門教程 loadMovie應用舉例 多畫面與畫中畫實現

2020-07-17 13:13:39
字體:
來源:轉載
供稿:網友

源文件下載

  本節知識要點

  1、loadMovie("url",target [, method])

  "url" :要加載的 SWF 文件或 JPEG 文件的絕對路徑或相對路徑。

  使用相對路徑一般應將播放的.swf文件與要加載的.swf文件放在同一文件夾中。絕對 路徑必須有詳細的路徑地址。

  target:目標影片剪輯(mc元件)的名稱和路徑。目標影片剪輯將替換為加載的 SWF 文件或圖像。

  method 可選參數,一般可以不選。

  如果 SWF 文件加載到目標影片剪輯,則可使用該影片剪輯的目標路徑來定位加載的 SWF 文件。加載到目標的 SWF 文件或圖像會繼承目標影片剪輯的位置、旋轉和縮放屬性。加載的圖像或 SWF 文件的左上角與目標影片剪輯的注冊點對齊

  2、MovieClip._lockroot

  因為用loadMovie()加載的外部文件是加載到一個mc元件上,所以,外部文件中指向場景(_root)的路徑此時應該是指向這個mc元件而不是主文件的場景。使用MovieClip._lockroot可以使加載的文件中的_root仍然是指向原來文件的場景.

  3、my_mc.getNextHighestDepth()

  返回一個整數,即影片剪輯的下一個可用的深度值

  4、switch

  創建動作腳本語句的分支結構。像 if 動作一樣,switch 動作測試一個條件,并在條件返回 true 值時執行語句。

  5、case

  用法:case expression:statements

  定義用于 switch 動作的條件。如果 case 關鍵字后的 expression 參數在使用全等 (===) 的情況下等于 switch 動作的 expression 參數,則執行 statements 參數中的語句。

  6、 _global 對象

  創建全局變量、對象或類。

  例題---仿電視的多畫面與畫中畫效果

  請看效果:

  點擊查看動畫效果<

  制作思路:只要在同一場景中使用多個mc,使它們同時載入外部.swf文件或者jpg,那么就可以實現多畫面效果。但是,在多畫面與畫中畫的狀態下,因為各mc載入外部.swf文件時有一個時間差,所以各畫面仿電視的同步播放比較困難。這需要被調入的外部.swf文件和主場景文件的配合。

  我們打開外部文件“111.fla”文件,AS腳本為:

  1、在幀上的腳本

  第 1 幀:

   gotoAndPlay(x);//這個x是主場景中設置的全局變量;

  最后1幀:

x=1;//設置本地變量x

  打開主文件6.8.fla,在這個源文件上的腳本如下:

  第 1 幀 :


復制代碼
代碼如下:

  stop();
  swf1 = "111.swf";//設置變量swf1來表示外部.swf文件
  loadMovie(swf1, e); //在目標元件e上調入swf1
  e._x = 125; //設置目標元件e的坐標(即調入swf1的坐標)
  e._y = 50;

  第 2 幀 :


復制代碼
代碼如下:

  clip = [a, b, c, d]; //設置數組對象,數組元素為4個目標mc
  lp = ["http://img.jbzj.com/UploadFile/2003-10/200310149471524589.swf", "http://img.jbzj.com/UploadFile/2004-4/200441713272664530.swf", "http://img.jbzj.com/UploadFile/2004-3/2004371753525251.swf", "http://img.jbzj.com/UploadFile/2003-11/200311201054795610.swf", "http://img.jbzj.com/UploadFile/2003-11/2003112817413249950.swf","http://cn.flasher123.com/flasher123/mmz/dsxl.swf", "http://img.jbzj.com/UploadFile/2003-10/200310170464214894.swf"];
       //設置數組對象,數組元素為網上.swf
   _global.x = _root.e._currentframe;
     //把目標mc播放的當前幀(即調入外部文件的當前幀)用全局變量x表示;
     //下面腳本中使調入外部文件的從全局變量x幀開始播放;
   m = getNextHighestDepth();//取得下一個可用的mc的深度;
   a.swapDepths(m);     //設置mc元件a的深度為下一個可用的mc的深度;
   loadMovie(swf1, a);    //在目標元件a上調入swf1
   a._x = 125;        //設置目標元件a的坐標(即調入swf1的坐標)
   a._y = 50;
   a._xscale = 50;     //設置目標元件a的放大系數(即調入swf1的放大系數)
   a._yscale = 50;
   j = k=0;        //設置變量初值

  第 3 幀


復制代碼
代碼如下:

  _global.x=_root.e._currentframe;//與第2幀上的腳本類同
  m=getNextHighestDepth()
  b.swapDepths(m)
  loadMovie(swf1, b);
  b._x = 125;
  b._y = 250;
  b._xscale = 50;
  b._yscale = 50;


  第 4 幀

復制代碼
代碼如下:

  _global.x=_root.e._currentframe;//與第2幀上的腳本類同
  m=getNextHighestDepth()
  c.swapDepths(m)
  loadMovie(swf1,c);
  c._x = 400;
  c._y = 250;
  c._xscale = 50;
  c._yscale = 50;

  第 5 幀

復制代碼
代碼如下:

  _global.x = _root.e._currentframe;//與第2幀上的腳本類同
  m = getNextHighestDepth();
  d.swapDepths(m);
  loadMovie(swf1, d);
  d._x = 400;
  d._y = 50;
  d._xscale = 50;
  d._yscale = 50;
  unloadMovie(e); //刪除最開始調入的swf

  第 6 幀

復制代碼
代碼如下:

  e._lockroot = true; //使被選中的元件在調入的外部文件的_root指向本身的主時間軸
  loadMovie(lp[k], e); //配合按扭中的mc的變化;

  2、在按扭上的腳本

  在“多屏幕”按扭上的腳本:

復制代碼
代碼如下:

 on (release) {
  nextFrame();
 }

  在“單屏”按扭上的腳本:

復制代碼
代碼如下:

 on (release) {
   for (i=0; i<4; i++) {
   unloadMovie(clip[i]);  //刪去元件a,b,c,d上加載的外部swf文件;
   clip[i].swapDepths(-i-1);//降低a,b,c,d的深度,使元件e加載的swf能顯示出來;
   clip[i]._alpha = 100;  //元件a,b,c,d的透明度有可能降低,這里把恢復它們的透明度
   }
  nextFrame();//到下一幀停下
 }

  在“屏幕選擇”按扭上的腳本

復制代碼
代碼如下:

 on (press) {
  txt = ""; //設置文本txt為空
  switch (j=j+1) {//創建switch 動作腳本語句的分支結構
  case 1 : //如果j==1,就執行
   a._alpha = 40; //元件a是透明度為40
   break; //跳出switch循環體。以下類同
   case 2 :
   a._alpha = 100;
   b._alpha = 40;
   break;
  case 3 :
   b._alpha = 100;
   c._alpha = 40;
   break;
  case 4 :
   c._alpha = 100;
   d._alpha = 40;
   break;
  case 5 :
   d._alpha = 100;
   j = 0;
   break;
  }
 }

  在“更換節目”按扭上的腳本

復制代碼
代碼如下:

 on (release) {
   if (j == 0) {
     txt = "請先選擇屏幕";
   } else {          //當j不等于0時,執行下列命令:
   clip[j-1]._alpha = 100;  //恢復被選中的元件的透明度
   clip[j-1]._lockroot = true;//使被選中的元件在調入的外部文件的_root指向本身的主時間軸
   loadMovie(lp[k], clip[j-1]);//在clip[j-1]元件中調入數組lp中第k個元數表示的網址
   k++;
  if (k == lp.length) {//數組lp中元素個數
  k = 0;
  }
 }
}

  在第 6 幀上 “多屏”按扭上的腳本

復制代碼
代碼如下:

 on (release) {
  gotoAndStop(1);
 }

  在第 6 幀上“更換節目”按扭上的腳本

復制代碼
代碼如下:

 on (release) {
  k++;
  if (k == 7) {    //數組lp中有7個元素
   k = 0;
  }
  e._lockroot = true;
  loadMovie(lp[k], e);//在e元件中調入數組lp中第k個元數表示的網址
}

  作業

  把2至4幀的腳本用自定義函數簡化;把在“屏幕選擇”按扭上的腳本用函數或者數組變量簡化。

  查看全套"Flash AS 高級教程"

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长泽雅美av | 羞羞的视频在线 | 国产深夜福利视频在线播放 | 精品国产91久久久久久 | 女人裸体让男人桶全过程 | 免费看成人av | 夜夜夜精品视频 | 久久久一区二区三区四区 | 欧美成人精品欧美一级乱黄 | 精品国产一区三区 | 鲁丝一区二区二区四区 | 成人在线视频免费播放 | 日韩欧美色综合 | 欧美囗交| 13一14毛片免费看 | 在线播放污 | 欧美极品欧美精品欧美视频 | 久久精品99北条麻妃 | av在线一区二区三区四区 | 久久久久亚洲视频 | 久久精品国产清自在天天线 | 国产精品久久久久久久久久了 | 日韩一级免费毛片 | 美女视频网站黄色 | 中文字幕精品在线视频 | 久久精品成人影院 | 日日草视频 | 国产亚洲精品综合一区91 | 精品亚洲一 | 亚洲第一黄色网 | 国产精品美女久久久免费 | 久色成人 | 日韩精品中文字幕一区二区三区 | 精品国产91一区二区三区 | 精品一区二区三区日本 | 中文在线日韩 | 高颜值美女啪啪 | 国产精品久久久网站 | 精品一区二区三区电影 | 99精品国产一区二区三区 | 毛片视 |