Funkcija “random” (naključno število) ima v programu Flash več namembnosti.
Generiramo lahko osnovna števila, naključne premike, naključne barve,…
V našem primeru bomo uporabili funkcijo za premikanje po okvirjih Flash datoteke.
Osnovna funkcija “random”
Math.random();
Ta funkcija generira naključno število med 0.0 in 1.0. Naprej lahko uporabimo številne druge funkcije: Math.round();,Math.ceil();…
Naprednejša funkcija
Math.Round(Math.Random());
Ta funkcija generira naključno število med 0.0 in 1.0, nato jo zaokroži do najbližje cele številke. V tem primeru bo število vedno 0 ali 1. Funkcijo lahko uporabimo, kadar rabimo 50% ponovitev dogodka. Ponavadi Pravilno/nepravilno oziroma “true/false”.
Naprednejša funkcija I
Math.round(Math.random()*10);
Tako je naključna številka vedno zaokrožena in ne more biti enaka 0. Če želimo dobiti številko med številom 2 in 6 potrebujemo
Math.round(Math.random()*4)+2;
oziroma
Math.round(Math.random()*(y-x))+x;
Primer
Ustvarimo Flash datoteko 100px x 100px, frame rate 12. Ustvarimo dva nivoja – layerja. V prvem nivoju so akcije in v drugem barva ozadja. Nato vstavimo v prvo polje nivoja akcija:
function Izberi() {
minimumSt = 2;
maksimumSt = 4;
nakljucno_stevilo = Math.round(Math.random() * (maksimumSt - minimumSt)) + minimumSt;
gotoAndStop(nakljucno_stevilo);
}
setInterval (Izberi, 500);
Koda nam poda naključno število med 2 in 4. Drugi del “setInterval (Izberi, 500);” pa nam določi interval pol sekunde za menjavo okvirja. Vsa ostala polja imajo akcijo “stop();”, ki zaustavi animacijo. V drugem nivoju določimo vsakemu polju drugo barvo, tako se preskoki lepo vidijo.
Ma!
super post.
tukaj je še malo izpopolnjena random funkicja, kateri lahko določimo meje, in pa, ali zaokrožimo vrednost(potrebujemo integer) ali ne.
function randomByRange(min:Number, max:Number, floor:Boolean = false):Number
{
var randomNum:Number;
switch(floor)
{
case false:
randomNum = Math.random() * (max – min + 1) + min;
break;
case true:
randomNum = Math.floor(Math.random() * (max – min + 1)) + min;
break;
}
return randomNum;
}
var randomNumber:Number;
randomNumber = randomByRange(-2,2,true);
randomNumber je vrednost med -2 in 2, katero funkcija zaokroži navzdol.