AS3: so erzeugen Sie eine Zufallszahl zwischen 10 und 20
Habe ich versucht, eine Zufallszahl erzeugen in Flash. Ich habe das anschauen von videos und das kopieren, aber wenn ich auf die Schaltfläche klicke, wird die Nummer nicht erscheinen in der text-box.
Hier ist der code, den ich geschrieben habe in einer air-ios-Spiel:
import flash.events.MouseEvent;
//creating the vars
var difficulty;
//listening for the play button to be clicked
play_button.addEventListener(MouseEvent.CLICK, letsgotoframe2);
//and after the listening what do the computer do!
function letsgotoframe2(event:MouseEvent):void
{
gotoAndStop(2)
}
//listening for the easy button to be clicked
Easy_button.addEventListener(MouseEvent.CLICK,letsgoeasy)
//what will it do when it is clicked
function letsgoeasy(e:MouseEvent):void{
difficulty = 1;
var rand = (Math.random()*20)
txt.text = String (rand);
gotoAndStop(rand);
}
PS:sorry für die schlechte Struktur dies ist mein Erster Beitrag!!
- Welche Fehler machen Sie? Hat die
letsgoeasy
Funktion ausgelöst werden, überhaupt? - Generiert er nicht Zahl zwischen 10 und 20. Für erwartete Ergebnis könnten Sie uint(Math.random()*10 + 10) .
- Add trace(rand): zu Ihrer letsgoeasy Funktion, dann nennen Sie es manuell: letsgoeasy(null); ist es die Ausgabe der Zufallszahl in der debug-Konsole? Wenn ja, der Titel dieses ticket ist völlig irreführend und dein problem liegt wohl woanders im code (Maus/events etc.).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese geben Sie eine Zahl zwischen 0 und 10(inklusive):
Jetzt, fügen Sie einfach 10 dazu und Sie haben eine Zahl zwischen 10 und 20:
Ich nehme an, Sie wollen zahlen. Wenn Sie möchten, reelle zahlen, entfernen Sie Math.Boden und änderung 11 zu 10 (Ihre Obere Grenze nicht 20, aber ich werde 19,99 etc)
int(the_number)
ist mehr offensichtlich und lesbar. Bitweise Operatoren zu zwingen, dem Zwang (>> 0
würde den trick auch)... Naja, sagen wir mal es ist ein kreativer Weg, es zu tun. Nicht sicher würde ich es nennen, große, aber.Hier ist eine Funktion, die Ihnen zufällige Ganzzahlen zwischen min und max:
Ohne zu sehen, die Zusammensetzung der Zeitleiste, in Ihre .FLA wird es schwer sein zu diagnostizieren dieses Problem bei Ihnen Auftritt, weil es scheint, dass Sie möglicherweise ein paar Dinge, die sich mit Ihrem code, die einen Beitrag zu dem Thema.
Fragen:
txt
existieren über Ihre Zeitleiste von Bild 10 bis 20. Ich bin einfach davon Bild 20 wäre max da fragte man uns für zufällige zahlen zwischen 10 und 20.Math.random()
Funktion produzieren reelle zahlen, nicht zahlen. So produziert eine zufällige Anzahl ohne casting es zu einerint
vor der Verwendung, den Wert in einemgotoAndStop
als Sie haben, ein problem sein wird.So zu beheben diese Probleme habe ich Folgendes vorschlagen:
int
für die es verwendet werden ordnungsgemäß in einergotoAndStop
- Anweisung.Hier ist Ihr code, der modifiziert, um fix die casting-Problem; allerdings müssen Sie manuell überprüfen Sie die Existenz Ihrer TextField: