Matematična funkcija “Random”

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.

Prenesi kodo

Več o Math.Random




Get Adobe Flash player


  • 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.

    Odgovori

Komentiraj


*