as3 random - generator liczb losowych

Liczby losowe to nieodzowny element wielu aplikacji flashowych, jednak czasami najprostszy kod może sprawiać problemy. Ostatnio potrzebowałam prostego generatora liczb losowych który z danej puli numerów wylosuje mi 10 liczb. Poniżej przedstawiam prosty kod oraz pliki źródłowe do ściągnięcia, dla zainteresowanych:-)

Oto cały kod odpowiedzialny za działanie generatora, poniżej opisze dokładnie jego działanie.

import flash.events.MouseEvent; 
btn.addEventListener(MouseEvent.CLICK, deal); 
var total:int = 10; 
var startNum:int = 1; 
var endNum:int = 400; 
function deal(e:MouseEvent):void{ 
    for (var i:int; i < total; i++) { 
        var j:int = i+1; var myNum:Number = Math.ceil(Math.random() * endNum) + startNum;
        trace(myNum); this["t"+j].text = String(myNum); 
    } 
}

1.Po pierwsze w actionscript 3 musimy pamietać o importowaniu klas, inaczej wszystko bierze w łeb.

import flash.events.MouseEvent;
//importuje klasę odpowiedzialną za wykonywanie akcji myszką lub kursorem jak kto woli:-)

2.Nasłuchuję czy przycisk został kliknięty

btn.addEventListener(MouseEvent.CLICK, deal);
//na scenie znajduje się movieclip którego nazwą instancji jest „btn” po którego kliknięciu uruchomi się funkcja „deal”

3.Definiuję zmienne

var total:int = 10;
//ilość numerów które mają być losowane

var startNum:int = 1;
//początkowa liczba od której ma zacząć się losowanie, ponieważ nie chcę aby losowanie zaczynało się od domyślnego zera wpisuję w tym miejscu 1, ale można losować od dowolnej liczby

var endNum:int = 400;
//maksymalna liczba z której generator numerów losowych może losować, w tym przypadku jest to 400

4.Funkcja generująca liczby losowe

function deal(e:MouseEvent):void{ 
    for (var i:int; i < total; i++) { 
        var j:int = i+1; 
        var myNum:Number = Math.ceil(Math.random() * endNum) + startNum; 
        trace(myNum); this["t"+j].text = String(myNum); 
    }
}

Kiedy funkcja jest wywoływana przez jakieś wydarzenie (event) należy w nawiasie wpisać na jakiego rodzaju wydarzenie ta funkcja ma reagować. Ponieważ funkcja odpalana jest po kliknięciu, w nawiasie wpisujemy „e:MouseEvent” e to skrót od event, ale można tam wpisać cokolwiek, ja używam „e” bo tak jest krócej.

Następnie w pętli for odbywa się losowanie numeru. Metodę uzyskiwania liczb losowych w actionscript 3 opisałam szczegółowo w artykule: as3 random - liczby losowe w actionscript 3

Pobierz plik