国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Flash > 正文

Flash AS 入門教程 多維數組和雙重循環使用介紹

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

  源文件下載

  我們先看一個效果,如下圖:

  點擊查看動畫效果<

  思考方法

  很顯然,我們用到了一個mc對另外一個mc的遮罩。它的原理是:在作為遮罩片的mc中,復制部分小方塊mc,并且隨機放置這些小方塊mc。當然,這樣的隨機放置不是任意的,必須滿足兩個條件:放置的位置不重復;能夠完全遮罩圖形。這里的方法是:

  1、計算小方塊mc在作為遮罩片mc中順序放置的位置的坐標;

  2 、把放置小方塊mc的坐標存放入一個數組,使這個數組的每一個元素都包括兩個數值(橫坐標,縱坐標)。因此,這個數組包括了小方塊所有的放置的位置。這里,我們要用到2維數組的有關知識;

  3、復制小方塊mc,每復制一個mc,從2維數組中隨機選一個元素,把這個元素中的橫坐標和縱坐標分別賦給這個mc。

  例題

  打開源文件3.8.fla,在第2層的元件1內的第1幀上的腳本為:


復制代碼
代碼如下:

 this.zfx_mc._visible = false;
 var temp_arry = new Array();//定義數組temp
  for (i=0; i<=14; i++) {//注意理解雙重循環時執行順序
             //從上到下共15行小正方形是20*20,圖片面積是400*300
    for (j=0; j<=19; j++) { //從左到右20列;
     temp_arry.push([-190+20*j, -140+20*i]);
        //把橫坐標和縱坐標數值作為一個元素,加入數組temp_arry.
    }
  }
  i = 0;      //設置變量i=0;
  _root.attachMovie("tu", "tu", 500);
           //從庫中鏈接元件“tu”,鏈接到舞臺的名稱為“tu”,深度為500
  _root.tu._x = 200;//把“tu”擺放在舞臺中央
  _root.tu._y = 150;
  _root.tu.setMask(this);//設置本影片剪輯為遮罩,“tu”為被遮罩。
 this.onEnterFrame = function() {//本影片剪輯執行事件處理函數;
  duplicateMovieClip(this.zfx_mc, "zfx"+i, i);
        //復制本影片剪輯下的zfx_mc,復制后的名稱為"zfx"+i,深度為i;
   k = Math.floor(Math.random()*temp_arry.length);
        //在數組temp_arry中隨機選出一個元素的序號k
   this["zfx"+i]._x = temp_arry[k][0];
        //把在數組temp_arry中第k個元素的第1個值作為this["zfx"+i]的橫坐標;
   this["zfx"+i]._y = temp_arry[k][1];
        //把在數組temp_arry中第k個元素的第2個值作為this["zfx"+i]的縱坐標;
   temp_arry.splice(k, 1);//把數組temp_arry中第k個元素刪掉;
    i++;
   if (i == 300) {//一共需要復制300個mc
     delete this.onEnterFrame;//刪除本影片剪輯事件處理函數,釋放內存。
    }
  };


  另外,小正方形zfx_mc有60幀的運動補間,在60幀上有個:stop()

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衡东县| 盱眙县| 三河市| 崇文区| 武平县| 丹寨县| 舟山市| 罗江县| 乌兰察布市| 福贡县| 沁水县| 陵川县| 安康市| 绵竹市| 定远县| 南和县| 吐鲁番市| 靖远县| 临夏县| 西林县| 建阳市| 巍山| 合江县| 车险| 中牟县| 基隆市| 怀安县| 德安县| 大英县| 丹棱县| 拉萨市| 筠连县| 佛冈县| 金山区| 襄城县| 南充市| 于都县| 桃园市| 潜江市| 梓潼县| 肃宁县|