We moeten vaak een willekeurig gegenereerd nummer gebruiken voor bepaalde situaties; gebruik makend van Math.random () * n zal meestal de truc doen, maar het berekent alleen een getal van 0 tot n. Wat als we een nummer nodig hebben dat geen 0 geeft als minimumwaarde? Hoe kun je een willekeurig getal tussen 100 en 1000 genereren? Ik zal je laten zien hoe je het moet doen in deze Quick Tip.
Dit voorbeeld demonstreert de functie die we gaan maken:
Voer twee getallen in, gescheiden door een ',' en druk op de willekeurige knop.
Met behulp van een functie die is gemaakt in ActionScript 3, berekenen we een getal tussen twee waarden. Deze waarden worden als parameters doorgegeven en gebruikt in de klasse Math om een willekeurig getal te genereren.
Open Flash en maak een nieuw Flash-bestand (ActionScript 3.0).
druk op Optie + F9 of ga naar Venster> Acties om het actiescherm te openen.
Een functie declareren en een naam geven randomRange; deze functie retourneert het willekeurige nummer, dus stel het retourneertype in op Aantal.
function randomRange (): Number
Er worden twee parameters gebruikt om het aantal te berekenen.
function randomRange (minNum: Number, maxNum: Number): Number
Dit is de functie met de werkelijke willekeurig nummer generator lijn. De kracht van Math wordt gebruikt om het nummer te genereren.
function randomRange (minNum: Number, maxNum: Number): Number return (Math.grond (Math.random () * (maxNum - minNum + 1)) + minNum);
We hebben onze functie voor het genereren van willekeurige getallen, maar wat doet deze functie?
Bekijk de volgende afbeelding voor een beter idee:
In het voorbeeld van de afbeelding, als Math.random () minder dan 0,5 was, zou het resultaat 550 zijn.
Een eenvoudige manier om de functie te testen, is om a te gebruiken spoor() functie. Zie de onderstaande code:
function randomRange (minNum: Number, maxNum: Number): Number return (Math.grond (Math.random () * (maxNum - minNum + 1)) + minNum); trace (randomRange (10, 20)); // Een getal tussen 10 en 20
Dit is een werkend voorbeeld, het gebruikt een knop om het nummer te berekenen en weer te geven in a TextField.
/ * De randomRange-functie * / function randomRange (minNum: Number, maxNum: Number): Number return (Math.grond (Math.random () * (maxNum - minNum + 1)) + minNum); / * De acties die worden uitgevoerd wanneer de knop wordt ingedrukt * / functieknop Action (e: MouseEvent): void // Een array slaat de getallen in het tekstveld op var n: Array = inputText.text.split ("," ); // Bereken het aantal op basis van de invoer, converteer het resultaat naar een tekenreeks // en verzend die tekenreeks naar het tekstveld generatedNumber.text = String (randomRange (n [0], n [1])); // Knop gebeurtenislistener toevoegen knop ButtonBadton.addEventListener (MouseEvent.MOUSE_UP, buttonAction);
Voer twee getallen in, gescheiden door een ',' en druk op de willekeurige knop.
Dit is een eenvoudig voorbeeld van hoe u deze functie kunt gebruiken; experimenteer en gebruik het in uw eigen projecten!
Bedankt voor het lezen!