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

本節(jié)知識要點
1、循環(huán)語句, condition 為要計算的條件,statement(s) 是只要 condition 參數(shù)計算結果為 true 就會執(zhí)行的語句。
do {
statement(s)
} while (condition)
2、 break;
在循環(huán)語句中使用,break 動作可命令 Flash 跳過循環(huán)體的其余部分,停止循環(huán)動作,并執(zhí)行循環(huán)語句之后的語句。
3、 Array.push();
將一個或多個元素添加到數(shù)組的結尾,并返回該數(shù)組的新長度。
4、Array.splice()
向數(shù)組中添加元素或刪除數(shù)組中元素
介紹兩種亂數(shù)排列的方法:
在1到32中選取10個隨機數(shù),要求這10個隨機數(shù)必須是不重復的。
方法1:在1到32中選取1個隨機數(shù)后,把它與前面選取的所有數(shù)進行比較,如果和其中一個相同,那么就重新選擇;如果和前面選取的所有數(shù)都不相同,那么,這個數(shù)就被選定,并進一步選取下一個數(shù)。
例 1 打開3.5.1.fla文件,第1幀上的腳本為:
i = 0;
rand_arry = new Array();//定義數(shù)組(也可以:rand_arry =[])
do { //執(zhí)行下面的循環(huán)語句
rand_arry[i] = Math.floor(Math.random()*32)+1;//給數(shù)組賦值---1到32之間的一個隨機數(shù);
k = true; //設置一個邏輯變量;
for (j=0; j<i; j++) {
if (rand_arry[i] == rand_arry[j]) {
//把剛才取得的這個隨機數(shù)與前面取得的所有數(shù)進行比較,如果相等...
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顯示
方法2:把1到32個數(shù)放入一個數(shù)組中;從這個數(shù)組中隨機選出一個數(shù);并把選得的這個數(shù)從原數(shù)組中刪去,這樣就可以保證下一次在這個數(shù)組中不會選到同一個數(shù)了;用同樣辦法、從已經刪去了一些數(shù)的原數(shù)組中再隨機選出一個數(shù);這些被選出的數(shù)隨時放進另一個數(shù)組。
例 2 打開3.5.2.fla文件,在第1幀上的腳本為:
function luanshu() {//設置為自定義函數(shù),便于用按扭多次調用
myArry = [];//定義兩個數(shù)組;
shu = [];
for (i=1; i<=32; i++) {
shu.push(i);//把1到32個數(shù)加入數(shù)組,(數(shù)組中為0到31個元數(shù))
}
for (i=0; i<=9; i++) {
k = Math.floor(Math.random()*shu.length);//從數(shù)組shu中隨機選一個元素(第k個)
myArry[i] = shu[k];//把數(shù)組shu中選出的元素的值賦給數(shù)組myArry第i個元素;
shu.splice(k, 1);//把數(shù)組shu中第k個元素刪掉(保證下一次選的一定不會重復
?。?
web=myArry.sort(18)//把數(shù)組myArry按降序排列,并用文本web顯示
}
luanshu(); //調自定義函數(shù)
在按扭上的腳本:
on (release) {
luanshu(); //調自定義函數(shù)
}
作業(yè)
在前一節(jié)的作業(yè)的基礎上,把上面的文字和下面的mc的位置都分別作任意的排列,如下圖
注意:把文字和mc的橫坐標分別放入一個數(shù)組中
相關文章
- flash cs6想要實現(xiàn)鼠標跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實現(xiàn)鼠標跟隨效果的教程,需要的朋友可以參考下2019-05-19
- Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請看下文詳細的教程,需要的朋友2018-03-11
- flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡單的例子,需要的朋友可以參考下http://chabaoo.cn/softs/408402.2018-02-28
flash cs6中怎么使用ActionScript3.0?
flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2018-01-25- 本教程給大家分享一個Flash小教程,教大家在Flash CS6中怎么實現(xiàn)鼠標點擊決定圖像位置?方法很簡單,感興趣的朋友歡迎前來一起分享學習2018-01-12
- 本教程教腳本之家的ActionScript教程學習者在Flash中如何用代碼將圖片放在自己想要的舞臺位置,教程講解的詳細,感興趣的朋友歡迎前來分享學習2017-11-20
在Flash CS6中使用with函數(shù)繪制背景圖教程
本教程教腳本之家的ActionScript教程學習者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細,方法也不難,非常適合Flash新手入門學習2017-11-18Flash怎么設置元件坐標?flash使用代碼設置元件的坐標的教程
Flash怎么設置元件坐標?flash中導如的元件需要添加坐標,該怎么定位元件坐標呢?下面我們就來看看flash使用代碼設置元件的坐標的教程,需要的朋友可以參考下2017-10-11- Flash怎么制作來回搖擺的花朵的動畫?Flash中想要給花朵制作一段搖擺的動畫效果,該怎么制作呢?下面我們就來看看詳細的教程,很簡單,需要的朋友可以參考下2017-05-23
- Flash怎么制作流動七彩色的文字?想要讓文字動起來,該怎么使用flash給文字制作一個流動七彩色的動畫呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2017-04-23