In questo suggerimento rapido, imparerai come rilevare quando l'utente è rimasto inattivo per un determinato periodo. Continua a leggere per scoprire come!
Diamo un'occhiata al risultato finale su cui lavoreremo:
Rilevereremo l'interazione degli utenti utilizzando gli eventi Keyboard e Mouse, verificando l'attività recente utilizzando un timer. Mostreremo un messaggio se il tempo determinato è trascorso senza attività.
Avvia Flash e crea un nuovo documento Flash.
Imposta le dimensioni dello stage su 550x250px.
Questa è l'interfaccia che useremo, uno sfondo semplice con un messaggio che dice all'utente di attendere cinque secondi. La seguente schermata verrà mostrata quando i cinque secondi sono passati - convertirlo in MovieClip e segnare il Esporta per ActionScript scatola. È chiamato Lo schermo.
Ovviamente questa è solo una delle molte cose che puoi fare quando passa il tempo di inattività, ad esempio GrooveShark mette in pausa la musica e mostra un messaggio che chiede all'utente se vuole continuare a usare l'applicazione. È la tua chiamata a decidere cosa fare.
Questa è la classe che fa il lavoro, leggi i commenti nel codice per scoprire il suo comportamento.
pacchetto import flash.display.Sprite; import flash.events.TimerEvent; import flash.utils.Timer; import flash.events.MouseEvent; import flash.events.KeyboardEvent; public class Main estende Sprite private var screen: TheScreen = new TheScreen (); // Crea una nuova istanza di TheScreen var privata aggiunta: Boolean = false; // Un booleano per verificare se lo schermo è stato aggiunto allo stage / * Timer Object * / private var timer: Timer = new Timer (5000); // Cinque secondi per questo esempio public function Main (): void timer.start (); // Avvia il timer timer.addEventListener (TimerEvent.TIMER, showMsg); // Ascolta il timer da completare / * Ascoltatori di mouse e tastiera, arresta il timer quando si verifica un evento, se stai utilizzando un altro metodo di input, come il microfono, aggiungi il suo evento qui * / stage.addEventListener (MouseEvent.MOUSE_MOVE, stopTimer ); stage.addEventListener (MouseEvent.MOUSE_DOWN, stopTimer); stage.addEventListener (MouseEvent.MOUSE_UP, stopTimer); stage.addEventListener (KeyboardEvent.KEY_DOWN, stopTimerK); stage.addEventListener (KeyboardEvent.KEY_UP, stopTimerK); / * Se non vi è attività per 5 secondi, verrà visualizzato un messaggio * / private function showMsg (e: TimerEvent): void addChild (screen); // Aggiunge lo schermo aggiunto = true; / * Se c'è attività, cancelliamo il messaggio e resettiamo il timer * / private function stopTimer (e: MouseEvent): void if (added) removeChild (screen); aggiunto = falso; timer.stop (); timer.start (); funzione privata stopTimerK (e: KeyboardEvent): void if (added) removeChild (screen); aggiunto = falso; timer.stop (); timer.start ();
Ricordarsi di aggiungere il nome della classe al campo Classe nella sezione Pubblica del pannello Proprietà.
Questo è un modo utile e semplice per rilevare l'attività dell'utente. In questo esempio l'attività rilevata si basa sugli eventi Mouse e Keyboard, ma puoi facilmente aggiungere un microfono o un altro evento di input per soddisfare le tue esigenze.
Spero che questo Quick Tip ti sia piaciuto, grazie per la lettura!