Vi behöver ofta använda ett slumpmässigt genererat nummer för vissa situationer. använder sig av Math.random () * n brukar göra tricket, men det kommer bara att beräkna ett tal från 0 till n. Vad händer om vi behöver ett nummer som inte ger 0 som lägsta värde? Hur kan du skapa ett slumptal mellan 100 och 1000? Jag ska visa dig hur du gör det i den här snabba tipsen.
Detta exempel visar vilken funktion vi ska skapa:
Ange två siffror åtskilda med en ',' och tryck på slumpmässig knapp.
Med hjälp av en funktion som skapats i ActionScript 3 beräknar vi ett tal mellan två värden. Dessa värden kommer att överföras som parametrar och används med Math-klassen för att generera ett slumptal.
Öppna Flash och skapa en ny Flash-fil (ActionScript 3.0).
Tryck Alternativ + F9 eller gå till Fönster> Åtgärder för att öppna åtgärdspanelen.
Förklara en funktion och namnge den randomRange; Denna funktion kommer att returnera slumptalet, så sätt returtypen till siffra.
funktion randomRange (): Number
Två parametrar kommer att användas för att beräkna numret.
funktion randomRange (minNum: Number, maxNum: Number): Number
Detta är funktionen med själva slumptalsgenerator linje. Maktens kraft används för att generera numret.
funktion randomRange (minNum: Number, maxNum: Number): Number return (Math.floor (Math.random () * (maxNum - minNum + 1)) + minNum);
Vi har vår slumptalgeneratorfunktion, men vad gör den här funktionen?
Ta en titt på följande bild för att få en bättre idé:
I bildens exempel, om Math.random () var mindre än 0,5, skulle resultatet vara 550.
Ett enkelt sätt att testa funktionen är att använda a spår() fungera. Se koden nedan:
funktion randomRange (minNum: Number, maxNum: Number): Number return (Math.floor (Math.random () * (maxNum - minNum + 1)) + minNum); spår (randomRange (10, 20)); // Ett tal mellan 10 och 20
Detta är ett fungerande exempel, det använder en knapp för att beräkna numret och visa det i a Textfält.
/ * RandomRange-funktionen * / funktionen randomRange (minNum: Nummer, maxNum: Nummer): Nummer Retur (Math.floor (Math.random () * (MaxNum - MinNum + 1)) + MinNum); / * De åtgärder som ska utföras när knappen trycks in. * / FunktionsknappAction (e: MouseEvent): void // En array lagrar numren i textfältet var n: Array = inputText.text.split ("," ); // Beräkna numret baserat på ingången, konvertera resultatet till en sträng // och skicka den strängen till textfältet generatedNumber.text = String (randomRange (n [0], n [1])); // Lägg till knappens händelseloggare actionButton.addEventListener (MouseEvent.MOUSE_UP, buttonAction);
Ange två siffror åtskilda med en ',' och tryck på slumpmässig knapp.
Detta är ett grundläggande exempel på hur du kan använda denna funktion; Experimentera och använda det i dina egna projekt!
Tack för att du läser!