欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flash AS 入門教程 三個實例講解

  發(fā)布時間:2013-03-14 00:24:08   作者:佚名   我要評論
畫正玄圖象,由外部輸入控制起點橫坐標(biāo)、震幅和跨度,把文字和下面的mc的位置都分別作任意的排列

  一、畫正玄圖象,由外部輸入控制起點橫坐標(biāo)、震幅和跨度。源文件下載

  點擊查看動畫效果<

  思路:我們可以在作業(yè)源程序中發(fā)現(xiàn):


復(fù)制代碼
代碼如下:

  .......
  moveTo(100, 200); //正玄線的起點坐標(biāo)為(100,200)可以把橫坐標(biāo)用一個變量(a)來表示
  ........

  y = 200-100*Math.sin(i*Math.PI/180);//其中100決定震幅大小,我們可以用變量(b)來表示;橫坐標(biāo)1個象數(shù),對應(yīng)表示1度的角度,在一個周期360度的條件下,如果橫坐標(biāo)1個象數(shù)對應(yīng)幾度,那么跨度顯然會減小,就是說sin(i*Math.PI/180)中i的系數(shù)決定跨度的大小,經(jīng)過反復(fù)測試這個系數(shù)為360/c比較合理。因此,原來程序中的這兩條可以改為:


復(fù)制代碼
代碼如下:

  moveTo(a, 200);
  y = 200-b*Math.sin(360/c*i*Math.PI/180)


  為了能夠重復(fù)使用這個畫圖程序,顯然我們應(yīng)該用自定義函數(shù),上面的三個變量就可以做為參數(shù)。

  打開源程序3.7.1.fla文件,這里只記與作業(yè)不同的地方:

  第1幀上:


復(fù)制代碼
代碼如下:

  a = b=c=""; //對輸入文本變量賦初值
  function huaxian(a, b, c) { //自定義函數(shù),函數(shù)名為huaxian,參數(shù)為三個文本變量
   ............
  y = 200-b*Math.sin(360/c*i*Math.PI/180);//b決定震幅,c決定跨度
   .....
  if (i>c) { //超過360度時(由360/c*i>360計算得到i>c)
   delete onEnterFrame; //刪除事件
  }
 };
}
  huaxian(100, 100, 360); //先畫一個正玄圖象


  按扭上的腳本:


復(fù)制代碼
代碼如下:

  on (release) {
   if (c<36) {
    web = "請輸入36以上的整數(shù)"; //跨度太小,圖象誤差太大
   } else {
    web=""
    _root.huaxian(Number(a), Number(b), Number(c));//調(diào)自定義函數(shù),并且把其中參數(shù)轉(zhuǎn)化為數(shù)值
  }
 }

  二、把文字和下面的mc的位置都分別作任意的排列

  點擊查看動畫效果<

  思路:考慮mc位置的亂排,這些mc的縱坐標(biāo)都相同,因此,我們主要考慮亂排橫坐標(biāo)。我們把這些mc的6個橫坐標(biāo)放入一個數(shù)組,用上一節(jié)講的辦法,很容易實現(xiàn)亂排的效果。

  打開3.7.1.fla文件

  在第1幀上的腳本為:


復(fù)制代碼
代碼如下:

  stop();
  i = 0;
  w_arry = [30, 110, 190, 270, 350, 430]; //把文本的橫坐標(biāo)作為一個數(shù)組
  for (t=1; t<7; t++) {
     m = Math.floor(Math.random()*w_arry.length);//從數(shù)組中任意選出一個編號
     this["wz"+t]._x = w_arry[m]; //把數(shù)組中這個編號的元數(shù)作為這個文本的橫坐標(biāo)
     w_arry.splice(m, 1);     //從這個數(shù)組中刪去這個元數(shù);
     this["wz"+t]._y = 30;    //設(shè)置這個文本的縱坐標(biāo)
   }
  tx_arry = [76, 156, 236, 316, 396, 476]; //與上面類同;
  for (s=1; s<7; s++) {
   m = Math.floor(Math.random()*tx_arry.length);
   this["tx"+s+"_mc"]._x = tx_arry[m];
   tx_arry.splice(m, 1);
   this["tx"+i+"_mc"]._y = 320;
 }
  function stlx(md, mc) {  //設(shè)置自定義函數(shù)
   md.x = md._x;      //影片剪輯的坐標(biāo)用這個影片剪輯下的變量x,y來保存
   md.y = md._y;
   md.onPress = function() { //鼠標(biāo)在md上按下時;
    startDrag(this, true);  //拖動這個md;
   };
   md.onRelease = function() { //鼠標(biāo)在md上松開時;
     stopDrag();       //停止拖動;
     if (md.hitTest(mc)) {  //如果md和mc交叉或者重疊;
       if (md.k != 1) {   //又如果md下的變量k不等于1的話;
         i++;       //變量i加1;
         md.k = 1;     //使md下的變量k=1;
        }
       if (i == 6) {     //如果i等于6;
         nextFrame();//到下一幀停下;
       }
    } else { //如果md和nc不重疊或者相交;
     md._x = md.x; //把md原來的坐標(biāo)賦給md(回到原來的位置)
     md._y = md.y;
    }
   };
  }
   for (j=1; j<7; j++) { //相當(dāng)于在6個mc上調(diào)自定義函數(shù)
    stlx(this["tx"+j+"_mc"], this["wz"+j]);
   }
  /* 例如,j=1,那么就是:
   stlx(this.tx1_mc,this.wz1)
  */

  三、這四個元件開始順序播放時,一個結(jié)束到另外一個開始的時間 間隔就能等于輸入 的時間 ?隨機播放的時候 一個結(jié)束到另一個播放的時間 的間隔也等于輸入 的時間

  點擊查看動畫效果<

  思路:

  方法1 可以在4個元件的最后一幀上加腳本,使另外的元件隔一定時間開始播放;

  方法2 可以使用(幀頻)事件處理函數(shù)來監(jiān)測,如果影片的當(dāng)前幀等于總幀數(shù),那么這個影片播放完畢,讓其它影片開始播放。用方法2比較簡單。

  打開 3.7.3fla文件:

  在第1幀上的腳本為:


復(fù)制代碼
代碼如下:

   yp_array = [aa, bb, cc, dd]; //把4個mc作為數(shù)組yp_array的元素;
   time = "";
   i = 0;
   function du() {       //自定義函數(shù)du
    yp_array[i].play();    //播放數(shù)組yp_array中第i個mc
    yp_array[i].onEnterFrame = function() { //對這個mc使用事件處理函數(shù)
      if (this._currentframe == this._totalframes) { //如果這個mc的當(dāng)前幀等于總幀數(shù);
        sj = setInterval(du, time*1000);  //間隔time*1000毫秒調(diào)這個自定義函數(shù)du;
        delete this.onEnterFrame;     //刪除事件;
       }
    };
  clearInterval(sj);           //清除時間間隔函數(shù)
   i++;
 }
   function duing() {
    k = Math.floor(Math.random()*yp_array.length);
           //根據(jù)數(shù)組yp_array的長度,選擇一個隨機數(shù)k;
    yp_array[k].play();         //數(shù)組yp_array中的第k個mc播放
    yp_array[k].onEnterFrame = function() {  //對這個mc使用事件處理函數(shù)
      if (this._currentframe == this._totalframes) { //如果這個mc的當(dāng)前幀等于總幀數(shù);
        sjing = setInterval(duing, time*1000); 
            //間隔time*1000毫秒調(diào)這個自定義函數(shù)duing;
        delete this.onEnterFrame; //刪除事件;
       }
     };
   yp_array.splice(k, 1);  //從數(shù)組yp_array中刪除第k個元數(shù)
   clearInterval(sjing);  //清除時間間隔函數(shù)
  }

  在按扭“順序播放”上的腳本:


復(fù)制代碼
代碼如下:

  on (release) {
   yp_array = [aa, bb, cc, dd];//重新給數(shù)組yp_array賦值
   clearInterval(sjing);
     //刪除隨機播放時的時間間隔函數(shù);這兩句是防止先按“隨機播放”后出錯。
   i = 0; //重新給變量賦值。
   if (time != "") {
    du(); //調(diào)函數(shù)du
   }
  }

  在按扭“隨機播放”上的腳本:


復(fù)制代碼
代碼如下:

 on (release) { //與“順序播放”按扭上的腳本類似
  yp_array = [aa, bb, cc, dd];
  clearInterval(sj);
  i = 0;
  if (time != "") {
   duing();
    }
  }

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

相關(guān)文章

  • flash cs6鼠標(biāo)跟隨效果實現(xiàn)代碼分享

    flash cs6想要實現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下
    2019-05-19
  • Flash cs6怎么使用代碼輸入中英文文本?

    Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請看下文詳細(xì)的教程,需要的朋友
    2018-03-11
  • flash as3.0怎么定義抽象類和抽象?

    flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡單的例子,需要的朋友可以參考下http://www.dbjr.com.cn/softs/408402.
    2018-02-28
  • flash cs6中怎么使用ActionScript3.0?

    flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下
    2018-01-25
  • Flash中怎么實現(xiàn)鼠標(biāo)點擊決定圖像位置?

    本教程給大家分享一個Flash小教程,教大家在Flash CS6中怎么實現(xiàn)鼠標(biāo)點擊決定圖像位置?方法很簡單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)
    2018-01-12
  • Flash中如何用代碼將圖片放在自己想要的舞臺位置?

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺位置,教程講解的詳細(xì),感興趣的朋友歡迎前來分享學(xué)習(xí)
    2017-11-20
  • 在Flash CS6中使用with函數(shù)繪制背景圖教程

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細(xì),方法也不難,非常適合Flash新手入門學(xué)習(xí)
    2017-11-18
  • Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程

    Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下
    2017-10-11
  • Flash怎么制作來回?fù)u擺的花朵的動畫?

    Flash怎么制作來回?fù)u擺的花朵的動畫?Flash中想要給花朵制作一段搖擺的動畫效果,該怎么制作呢?下面我們就來看看詳細(xì)的教程,很簡單,需要的朋友可以參考下
    2017-05-23
  • Flash怎么制作流動七彩色的文字?

    Flash怎么制作流動七彩色的文字?想要讓文字動起來,該怎么使用flash給文字制作一個流動七彩色的動畫呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下
    2017-04-23

最新評論