Hurtig Tips Automatisk Tab mellom TextFields Bruke AS3

Denne raske tipsen viser deg hvordan du implementerer en automatisk fane mellom tekstfeltene. Hvis du gjør det, vil du sette fokus på det neste definerte tekstfeltet når maksimum antall tegn er innført i den forrige. La oss komme igang!


Endelig resultatforhåndsvisning

La oss se på det endelige resultatet vi vil jobbe for:


Trinn 1: Kort oversikt

En serie TextFields vil bli plassert på scenen, så vel som en knapp. Bruker lengde eiendom vil vi sjekke det maksimale antall tegn som er tillatt i hvert felt og endre den aktive TextField ved hjelp av fokus eiendom. Knappen vil bli skjult som standard og avslørt når alle tekstfeltene er ferdige.


Trinn 2: Konfigurer din Flash-fil

Start Flash og opprett et nytt Flash-dokument, sett scenestørrelsen til 400x200px og bildesatsen til 24fps.


Trinn 3: Grensesnitt

Dette er grensesnittet vi skal bruke, det inkluderer tre Input TextFields og en knapp. TextFields er oppkalt txt1, txt2 og txt3 fra venstre til høyre og knappen er navngitt OK-knappen.

For at koden skal fungere, må du sette inn Max Chars alternativ i Egenskaper Panel av hvert TextField, i dette eksemplet er disse tallene henholdsvis 3, 3 og 4.

Gjenta grensesnittet selv, eller bruk Source FLA.


Trinn 4: ActionScript

Opprett en ny ActionScript-klasse (Cmd + N), lagre filen som Main.as og begynn å skrive:

 pakke import flash.display.Sprite; importer flash.events.KeyboardEvent; offentlig klasse Hoved utvider Sprite offentlig funksjon Main (): void okButton.visible = false; // Skjul okButton stage.addEventListener (KeyboardEvent.KEY_UP, checkTextField); // Lytt til nøkkelpresser Private funksjon autoTab (? Tekstfelt): void // Bruk resten argumentet til å inkludere et hvilket som helst antall tekstfelt var txtLen: int = textfields.length; // Forklar lengden på tekstfeltene som brukes til (var i: int = 0; i < txtLen; i++)  if (textfields[i].length == textfields[i].maxChars)  stage.focus = textfields[i + 1]; //Change focus to next textfield in the array  if (textfields[txtLen - 1].length == textfields[txtLen - 1].maxChars) //checks for the last textfield in the array  okButton.visible = true; //show the button    private function checkTextField(e:KeyboardEvent):void  autoTab(txt1, txt2, txt3); //executes the function every key press   

Denne koden kontrollerer maksimum antall tegn som er tillatt i hver tekstfelt, disse feltene blir introdusert i autoTab Fungerer som parametere, deretter endres fokuset hvis maksimalnummeret er nådd. Hvis den siste tekstfeltet i parametervisningen er fullført, vises innleveringsknappen.

Nøkkellinjen er stage.focus = tekstfelt [i + 1];.

Igjen, ikke glem å sette Max Chars alternativ i Egenskaper Panel av TextField.


Trinn 5: Dokumentklasse

Husk å legge til klassenavnet til Klasse felt i publisere delen av Eiendommer panel.


Konklusjon

Prøv demoen og eksperimenter med bruken av denne funksjonen!

Jeg håper du likte denne opplæringen, takk for å lese!