Ich habe ein Problem, wo auch immer Text oder sogar Leerzeichen ich setze ich noch in Frame 170 gehen, wie Sie sehen, ich 171 Frame dort setzen, und wenn ich "daher" es gehe in 171, scheint wie es gut funktioniert, es ist sogar, ich habe falsch geschrieben, es geht zu Frame 170, ich kann das Problem tho nicht finden, auch ich weiß nicht, ob ich eine else Anweisung machen sollte, wenn das Wort nicht in der Liste ist, wird es zu anderen Rahmen gehen paaren danksearchbox as3 funktioniert nicht richtig
var i:int = 0;
var names:Array = new Array("therefore","disciples","nations","baptizing","father","son","holy spirit");
var frames:Array = new Array("171","170","170","170","170","170","170","170");
button_140.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler_4);
function fl_MouseClickHandler_4(event:MouseEvent):void
{
var searchtext:String = searchtext.text.toLowerCase();
findInArray(searchtext);
gotoAndStop(frames[i]);
}
function findInArray(str:String):int
{
for(i=0; i < names.length; i++)
{
if(names[i] == str)
{
return i;
}
}
return 0;
}
for-Schleife erhöht Wert von "i" ganz gleich, ob es um den Wert oder nicht finden kann und Sie i in dieser Zeile gotoAndStop (frames [i]) ;, verwenden Sie sollten es wie folgt verwenden gotoAndStop (frames [findInArray (suchtext)]); –
hey vielen Dank es funktioniert sehr gut, aber jetzt hat es einen Fehler, wenn kein Wort in der Array-Liste gefunden wird, gibt es eine Möglichkeit, eine andere Anweisung zu haben, um sicher zu gehen, wenn er falsches Wort eingibt Rahmen, der das Wort nicht gefunden sagt? Danke, Kumpel –
Wenn es nicht finden kann einfach zurück -1 in findInArray-Funktion und überprüfen Sie das Ergebnis, wenn Funktion -1 Alarm an den Benutzer als Wort nicht gefunden –