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

本節(jié)知識(shí)要點(diǎn)
1、循環(huán)語句, condition 為要計(jì)算的條件,statement(s) 是只要 condition 參數(shù)計(jì)算結(jié)果為 true 就會(huì)執(zhí)行的語句。
do {
statement(s)
} while (condition)
2、 break;
在循環(huán)語句中使用,break 動(dòng)作可命令 Flash 跳過循環(huán)體的其余部分,停止循環(huán)動(dòng)作,并執(zhí)行循環(huán)語句之后的語句。
3、 Array.push();
將一個(gè)或多個(gè)元素添加到數(shù)組的結(jié)尾,并返回該數(shù)組的新長度。
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幀上的腳本為:
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之間的一個(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顯示
方法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ù)組。
例 2 打開3.5.2.fla文件,在第1幀上的腳本為:
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ù)組中
相關(guān)文章
flash cs6鼠標(biāo)跟隨效果實(shí)現(xiàn)代碼分享
flash cs6想要實(shí)現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實(shí)現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下2019-05-19- Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請(qǐng)看下文詳細(xì)的教程,需要的朋友2018-03-11
- flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡(jiǎn)單的例子,需要的朋友可以參考下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-25Flash中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?
本教程給大家分享一個(gè)Flash小教程,教大家在Flash CS6中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?方法很簡(jiǎn)單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)2018-01-12Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置?
本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置,教程講解的詳細(xì),感興趣的朋友歡迎前來分享學(xué)習(xí)2017-11-20在Flash CS6中使用with函數(shù)繪制背景圖教程
本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細(xì),方法也不難,非常適合Flash新手入門學(xué)習(xí)2017-11-18Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程
Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下2017-10-11Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?
Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?Flash中想要給花朵制作一段搖擺的動(dòng)畫效果,該怎么制作呢?下面我們就來看看詳細(xì)的教程,很簡(jiǎn)單,需要的朋友可以參考下2017-05-23- Flash怎么制作流動(dòng)七彩色的文字?想要讓文字動(dòng)起來,該怎么使用flash給文字制作一個(gè)流動(dòng)七彩色的動(dòng)畫呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2017-04-23