Suggerimento rapido scheda automatica tra campi di testo che utilizzano AS3

Questo suggerimento rapido ti mostrerà come implementare una scheda automatica tra i campi di testo. In questo modo si concentrerà sul prossimo campo di testo definito quando il numero massimo di caratteri è stato introdotto nel precedente. Muoviamoci!


Anteprima del risultato finale

Diamo un'occhiata al risultato finale su cui lavoreremo:


Passaggio 1: breve panoramica

Una serie di campi di testo verrà posizionata sul palco, oltre a un pulsante. Usando il lunghezza proprietà controlleremo il numero massimo di caratteri consentiti in ogni campo e cambieremo il campo di testo attivo usando il messa a fuoco proprietà. Il pulsante sarà nascosto per impostazione predefinita e rivelato quando tutti i campi di testo sono completi.


Passaggio 2: configura il tuo file Flash

Avvia Flash e crea un nuovo documento Flash, imposta le dimensioni dello stage su 400x200px e la frequenza fotogrammi su 24 fps.


Passaggio 3: interfaccia

Questa è l'interfaccia che useremo, include tre campi di testo di input e un pulsante. I campi di testo sono nominati txt1, txt2 e txt3 da sinistra a destra e il pulsante è denominato okButton.

Affinché il codice funzioni, è necessario impostare il Carattere massimo opzione nel Pannello Proprietà di ogni campo di testo, in questo esempio questi numeri sono 3, 3 e 4, rispettivamente.

Ricrea l'interfaccia tu stesso o usa l'FLA di origine.


Passaggio 4: ActionScript

Creare una nuova classe ActionScript (Cmd + N), salvare il file come Main.as e inizia a scrivere:

 pacchetto import flash.display.Sprite; import flash.events.KeyboardEvent; public class Main extends Sprite public function Main (): void okButton.visible = false; // Nascondi okButton stage.addEventListener (KeyboardEvent.KEY_UP, checkTextField); // Listen for key presses private function autoTab (? Textfields): void // Usa l'argomento resto per includere qualsiasi numero di campi di testo var txtLen: int = textfields.length; // Dichiara la lunghezza dei campi di testo usati per (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   

Questo codice controlla il numero massimo di caratteri consentiti in ogni campo di testo, questi campi vengono introdotti nel autoTab funzionano come parametri, quindi lo stato attivo cambia se viene raggiunto il numero massimo. Se l'ultimo campo di testo nella serie di parametri è completato, viene rivelato il pulsante di invio.

La linea chiave è stage.focus = campi di testo [i + 1];.

Ancora una volta, non dimenticare di impostare il Carattere massimo opzione nel Pannello Proprietà del campo di testo.


Passaggio 5: Classe di documenti

Ricorda di aggiungere il nome della classe al Classe campo nel Pubblicare sezione del Proprietà pannello.


Conclusione

Prova la demo e sperimenta gli usi di questa funzione!

Spero che questo tutorial ti sia piaciuto, grazie per la lettura!