作者: Dennis Bale 翻譯: Candy 難度: 中級(jí)
下載源文件(ZIP).
Random函數(shù)在flash里是非常有用的,可以生成基本的隨機(jī)數(shù),創(chuàng)建隨機(jī)的移動(dòng),以及隨機(jī)的顏色和其他更多的作用。在下面這個(gè)例子中當(dāng)你每次按下按鈕就會(huì)顯示一個(gè)從-100到100的隨機(jī)數(shù),這個(gè)教程將解釋如何做出這個(gè)例子以及如何利用Random函數(shù)產(chǎn)生其他不同的結(jié)果。
基本的Random函數(shù)如下
Math.random();
可以產(chǎn)生出0-1之間的任意小數(shù),例如0.0105901374530933 或 0.872525005541986,有幾個(gè)其他的函數(shù)可以用來改變產(chǎn)生的數(shù)字,從而可以更好的在你的影片中使用:
Math.round(); Math.ceil(); Math.floor();
這幾個(gè)函數(shù)都是用來取得整數(shù)的,Math.round();是采用四舍五入方式取得最接近的整數(shù)。Math.ceil();是向上取得一個(gè)最接近的整數(shù),Math.floor(); 和Math.ceil();相反,Math.floor();向下 取得一個(gè)最接近的整數(shù)
結(jié)合這些函數(shù),你就可以這樣寫:
Math.round(Math.random());
這個(gè)表達(dá)式可以生成一個(gè)0.0和1.0之間的一個(gè)數(shù),然后四舍五入取得一個(gè)整數(shù)。這樣所生成的數(shù)字就是0或1。這個(gè)表達(dá)式可以用在各有50%的可能的情況下,例如拋硬幣,或者true/false指令。
*10 是將你所生成的小數(shù)乘以10,然后四舍五入取得一個(gè)整數(shù):
Math.round(Math.random()*10);
要?jiǎng)?chuàng)建一個(gè)1到10之間的隨機(jī)數(shù),可以這樣寫:
Math.ceil(Math.random()*10);
應(yīng)為是Math.ceil向上取值,所以不會(huì)產(chǎn)生0。要?jiǎng)?chuàng)建一個(gè)5到20的隨機(jī)數(shù)可以這樣寫
Math.round(Math.random()*15)+5;
也就是說,如果要?jiǎng)?chuàng)建一個(gè)從x到y(tǒng)的隨機(jī)數(shù),就可以這樣寫
Math.round(Math.random()*(y-x))+x;
x和y可以是任何的數(shù)值,即使是負(fù)數(shù)也一樣。
要制作上面的那個(gè)例子,首先要?jiǎng)?chuàng)建一個(gè)按鈕符號(hào),拖動(dòng)到主場景中,然后創(chuàng)建一個(gè)新的動(dòng)態(tài)文本框,賦予動(dòng)態(tài)文本框的變量名為“display”。創(chuàng)建的工作到此結(jié)束,下面來添加腳本.
選中按鈕,打開actions窗口,輸入下面的代碼,你可以在下拉菜單中選擇,也可以直接將下面的代碼拷貝進(jìn)去:
on (release) { display = Math.round (Math.random ()*200)-100; }
完成了,下面測試一下你的影片,你會(huì)注意到代碼中的值遵循了那個(gè)公式。如果x = -100, y =100,那么y-x=200, +x = -100.
隨機(jī)數(shù)在flash中還可以有多種不同的應(yīng)用。要讓一個(gè)movieclip在隨機(jī)的屏幕上不同的位置上出現(xiàn),顯示的位置在0到200之間,可以這樣寫,注意movieclip的實(shí)例名為“bob”.
bob._x = Math.round(Math.random()*200); bob._y = Math.round(Math.random()*200);
或者隨機(jī)的控制movieclip的大。◤0到100之間):
bob._width = Math.round(Math.random()*100); bob._height = Math.round(Math.random()*100);
也可以隨機(jī)的載入一個(gè)movieclip,如果你的movieclip的命名是"bob1", "bob2" 一直到"bob5",我們可以這樣寫。
i = Math.ceil(Math.random()*5); attachMovie("bob"+i, "fred"+i, 1);
運(yùn)行這個(gè)代碼以后。就會(huì)隨機(jī)的載入一個(gè)movieclip,例如"bob3",放在level 1 ,賦予實(shí)例名為"fred3"。
以上就是flash5中random函數(shù)的基本用法,希望你能運(yùn)用到你的影片中去,創(chuàng)造出令人驚訝的flash作品。
出處:ActionScript.org
責(zé)任編輯:qhwa
◎進(jìn)入論壇Flash專欄版塊參加討論
|