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

首頁 > 辦公 > Flash > 正文

Flash AS 入門教程 setInterval函數應用舉例

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

  setInterval動作的作用是在播放動畫的時,每隔一定時間就調用函數,方法或對象。源文件下載

  本節知識要點:

  1、setInterval(function,interval,arg);

  第一個參數function:也就是要調用的函數或方法;可以是匿名的函數、命名函數、對象方法或電影剪輯

  第二個參數interval:調用的時間間隔,毫秒為單位。

  第三個參數arg:傳遞給將被調用的函數或方法的參數

  2、clearInterval()

  清除對 setInterval() 的調用。

  應用舉例

  例01 用setInterval做下雨效果

  我們過去做下雨效果時,一般是通過幀的循環來復制雨滴的,幀的循環其實也就是間隔一定的時間。那么,我們當然也完全可以用setInterval來每隔一定時間就調用函數,而這個函數的功能就是復制一滴雨滴,并且設置其坐標。

  打開3.6.1.fla文件,在第一幀上的代碼:


復制代碼
代碼如下:

 i = 0;
 rain._visible = 0;
 function xiayu() {
   duplicateMovieClip(rain, "r"+i, i);
   _root["r"+i]._x = Math.round(Math.random()*550);
   _root["r"+i]._y = Math.round(Math.random()*400);
   i++;
   if (i == 100) {
    i = 0;
   }
 }
  var sj;//設置變量
  sj = setInterval(xiayu,10); //每隔10毫秒調函數xiayu一次。

  運行程序,檢測效果。

  現在,我們試試參數的傳遞。我們把rain做為參數傳遞,那么上面的程序可以改為:


復制代碼
代碼如下:

  .....
  function xiayu(md) {
   duplicateMovieClip(md, "r"+i, i);
   ........
  }
  sj = setInterval(xiayu,10,rain);

  運行程序,檢查一下,效果和上面的程序是不是一樣?

  例02 使幾個影片剪輯mc間隔相同時間播放;

  本例題來源于網友的提問,看下圖:

  點擊查看動畫效果<

  問題思路:

  對于順序播放:設置一個播放一個mc的函數,再用setInterval根據輸入文本得到的間隔時間來調用這個函數;同時,利用數組變量改變這個函數里的mc。

  對于隨機播放: 可以用上一節的亂數排列知識來處理。

  打開3.6.2.fla文件分別查看各處腳本:

  1、主時間軸第1幀上的腳本:


復制代碼
代碼如下:

  mc = [aa, bb, cc, dd];//把4個影片簡輯的實例名作為數組mc的元素
  time = ""; //設置輸入文本的初始值為""
  i = 0; //設置變量i的初始值為0
 function du() {//設置自定義函數,函數名為du
   i++;
   mc[i].play();//數組中第i個元素開始播放
   if (i == 3) {
   clearInterval(sj);//最后一個mc播放后,清除sj表示的setInterval函數
   }
 }
 function duing() {//設置自定義函數,函數名為duing;
   k = Math.floor(Math.random()*mc.length);//隨機選擇數組mc中的一個元素的序號
   mc[k].play();//數組mc中第k個元素開始播放
   mc.splice(k, 1);//刪除數組mc中的第k個元素(影片剪輯)
   if (mc.length == 0) {
    clearInterval(sjing);//最后一個mc播放后,清除sjing表示的setInterval函數
   }
 }

  2、順序播放按扭上的腳本:


復制代碼
代碼如下:

  on (release) {
    mc = [aa, bb, cc, dd];//把4個影片簡輯的實例名作為數組mc的元素(為了能夠重復使用)
    i = 0;        //設置變量i的初始值為0(為了能夠重復使用)
    if (time != "") {  //如果輸入文本不為空(輸入了數字)
     aa.play();     //第一個mc播放(為了第一個mc的運行不間隔時間)
     var sj = setInterval(du, time*1000);
              //設置setInterval函數,每隔time秒調用一次函數du
    }
  }

  3、隨機播放按扭上的腳本:


復制代碼
代碼如下:

  on (release) {
    mc = [aa, bb, cc, dd];
    i=0;
    if (time != "") {
      duing();  //調duing函數(為了第一個mc的運行不間隔時間)
     var sjing = setInterval(duing, time*1000);
           //設置setInterval函數,每隔time秒調用一次函數duing
    }
  }

  作業

  把例2的要求改為:不管順序播放還是隨機播放,使一個mc播放結束,后一個mc開始播放,這時的時間間隔等于輸入文本的時間,如下圖。源文件下載

  點擊查看動畫效果<

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩精品中文字幕在线播放 | 免费毛片小视频 | 99日韩精品视频 | 免费看日韩片 | 欧美色视 | 香蕉国产在线视频 | 久久精品小短片 | 成人激情视频网站 | 一级做a爱片久久 | 久草在线视频看看 | 亚洲天堂成人在线观看 | 香蕉成人在线视频 | 国产精品久久久久久久久久iiiii | 午夜影院在线免费观看 | 国产91九色 | 日韩黄色影视 | av噜噜噜噜 | 日韩中字在线 | 亚洲一区二区三区精品在线观看 | 性欧美性欧美 | 午夜精品久久久久久久96蜜桃 | 午夜视频色 | 免费看一级视频 | 女人裸体让男人桶全过程 | 欧美淫交 | 高清在线国产 | 欧美黄色免费视频 | 中国老女人一级毛片视频 | sesee99| 成人午夜免费看 | 国产日韩大片 | 国产xxxxx在线观看 | 一级成人在线 | 91社区在线观看 | 免费永久看羞羞片网站入口 | 91一区二区三区久久久久国产乱 | 特片网久久 | 亚洲资源在线 | 91 视频网站| 九九热精品视频在线 | 在线观看免费毛片视频 |