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

首頁(yè) > 辦公 > Flash > 正文

Flash AS 入門教程 亂數(shù)排列(隨機(jī)數(shù))方法

2020-07-17 13:13:46
字體:
供稿:網(wǎng)友

 源文件下載

  本節(jié)知識(shí)要點(diǎn)

  1、循環(huán)語(yǔ)句, condition 為要計(jì)算的條件,statement(s) 是只要 condition 參數(shù)計(jì)算結(jié)果為 true 就會(huì)執(zhí)行的語(yǔ)句。

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

do {
   statement(s)  
} while (condition)

  2、 break;

  在循環(huán)語(yǔ)句中使用,break 動(dòng)作可命令 Flash 跳過循環(huán)體的其余部分,停止循環(huán)動(dòng)作,并執(zhí)行循環(huán)語(yǔ)句之后的語(yǔ)句。

  3、 Array.push();

  將一個(gè)或多個(gè)元素添加到數(shù)組的結(jié)尾,并返回該數(shù)組的新長(zhǎng)度。

  4、Array.splice()

  向數(shù)組中添加元素或刪除數(shù)組中元素

  介紹兩種亂數(shù)排列的方法:

  在1到32中選取10個(gè)隨機(jī)數(shù),要求這10個(gè)隨機(jī)數(shù)必須是不重復(fù)的。

  方法1:在1到32中選取1個(gè)隨機(jī)數(shù)后,把它與前面選取的所有數(shù)進(jìn)行比較,如果和其中一個(gè)相同,那么就重新選擇;如果和前面選取的所有數(shù)都不相同,那么,這個(gè)數(shù)就被選定,并進(jìn)一步選取下一個(gè)數(shù)。

  例 1 打開3.5.1.fla文件,第1幀上的腳本為:

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

  i = 0;
  rand_arry = new Array();//定義數(shù)組(也可以:rand_arry =[])
  do { //執(zhí)行下面的循環(huán)語(yǔ)句
   rand_arry[i] = Math.floor(Math.random()*32)+1;//給數(shù)組賦值---1到32之間的一個(gè)隨機(jī)數(shù);
   k = true;  //設(shè)置一個(gè)邏輯變量;
   for (j=0; j<i; j++) {
     if (rand_arry[i] == rand_arry[j]) {
      //把剛才取得的這個(gè)隨機(jī)數(shù)與前面取得的所有數(shù)進(jìn)行比較,如果相等...
       k = false;//改變邏輯變量
       break;  //跳出for循環(huán)
      }
   }
    if (k) { //如果邏輯變量k沒有發(fā)生改變;
      i++; //變量i加1
    }
  } while (i<10); //如果i<10,回到do開始的循環(huán);如果i=10,則跳出do循環(huán)
   web=rand_arry.sort(16) // //把數(shù)組rand_arry按升序排列,并用文本web顯示

  點(diǎn)擊查看動(dòng)畫效果<

  方法2:把1到32個(gè)數(shù)放入一個(gè)數(shù)組中;從這個(gè)數(shù)組中隨機(jī)選出一個(gè)數(shù);并把選得的這個(gè)數(shù)從原數(shù)組中刪去,這樣就可以保證下一次在這個(gè)數(shù)組中不會(huì)選到同一個(gè)數(shù)了;用同樣辦法、從已經(jīng)刪去了一些數(shù)的原數(shù)組中再隨機(jī)選出一個(gè)數(shù);這些被選出的數(shù)隨時(shí)放進(jìn)另一個(gè)數(shù)組。

  點(diǎn)擊查看動(dòng)畫效果<

  例 2 打開3.5.2.fla文件,在第1幀上的腳本為:


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

 function luanshu() {//設(shè)置為自定義函數(shù),便于用按扭多次調(diào)用
   myArry = [];//定義兩個(gè)數(shù)組;
   shu = [];
   for (i=1; i<=32; i++) {
    shu.push(i);//把1到32個(gè)數(shù)加入數(shù)組,(數(shù)組中為0到31個(gè)元數(shù))
   }
   for (i=0; i<=9; i++) {
    k = Math.floor(Math.random()*shu.length);//從數(shù)組shu中隨機(jī)選一個(gè)元素(第k個(gè))
    myArry[i] = shu[k];//把數(shù)組shu中選出的元素的值賦給數(shù)組myArry第i個(gè)元素;
    shu.splice(k, 1);//把數(shù)組shu中第k個(gè)元素刪掉(保證下一次選的一定不會(huì)重復(fù)
    )
   web=myArry.sort(18)//把數(shù)組myArry按降序排列,并用文本web顯示
 }
  luanshu();  //調(diào)自定義函數(shù)
  在按扭上的腳本:
  on (release) {
   luanshu(); //調(diào)自定義函數(shù)
  }

  作業(yè)

  在前一節(jié)的作業(yè)的基礎(chǔ)上,把上面的文字和下面的mc的位置都分別作任意的排列,如下圖

  注意:把文字和mc的橫坐標(biāo)分別放入一個(gè)數(shù)組中

  點(diǎn)擊查看動(dòng)畫效果<

  查看全套"Flash AS 高級(jí)教程"

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 象州县| 建水县| 西青区| 章丘市| 双江| 大悟县| 青铜峡市| 辽宁省| 湄潭县| 云霄县| 通化县| 揭阳市| 怀宁县| 甘泉县| 阿荣旗| 项城市| 太保市| 哈尔滨市| 潮安县| 醴陵市| 鄢陵县| 萨嘎县| 景泰县| 宝山区| 依安县| 兰州市| 正阳县| 大城县| 卢湾区| 清水县| 郑州市| 威信县| 道孚县| 西华县| 东丰县| 嘉义市| 阜阳市| 新郑市| 黑龙江省| 石楼县| 南阳市|