În acest sfat rapid, veți învăța cum să detectați când utilizatorul a fost inactiv pentru o perioadă determinată. Continuați să citiți pentru a afla cum!
Să aruncăm o privire asupra rezultatului final pe care îl vom strădui:
Vom detecta interacțiunea utilizatorilor utilizând Tastatura și Mouse-ul, verificând activitatea recentă folosind un Cronometru. Vom afișa un mesaj dacă timpul stabilit a trecut fără activitate.
Lansați Flash și creați un nou document Flash.
Setați dimensiunea scenei la 550x250 px.
Aceasta este interfața pe care o vom folosi, un fundal simplu, cu un mesaj care îi spune utilizatorului să aștepte cinci secunde. Următorul ecran va fi afișat când au trecut cele cinci secunde - convertiți-l în MovieClip și marcați Exportați pentru ActionScript cutie. Este numit Monitorul.
Desigur, acesta este doar unul dintre multe lucruri pe care le puteți face atunci când trece timpul de inactivitate, GrooveShark, de exemplu, întrerupe muzica și afișează un mesaj prin care întreabă utilizatorul dacă dorește să continue să utilizeze aplicația. Este chemarea ta să decizi ce să faci.
Aceasta este clasa care face lucrarea, citiți comentariile din cod pentru a afla despre comportamentul acesteia.
pachet import flash.display.Sprite; import flash.events.TimerEvent; import flash.utils.Timer; importul flash.events.MouseEvent; import flash.events.KeyboardEvent; clasa publică principală se extinde pe Sprite private var screen: TheScreen = TheScreen () nou; // Crează o nouă instanță a lui TheScreen private var adăugat: Boolean = false; / / Timer Object * / timer privat var: Timer = new Timer (5000); // Cinci secunde pentru acest exemplu functie publica Main (): void timer.start (); // Începe timer.addEventListener (TimerEvent.TIMER, showMsg); // Ascultă ceasul pentru a termina / * Ascultătorii mouse-ului și a tastaturii, oprește cronometrul când apare un eveniment, dacă folosiți altă metodă de intrare, cum ar fi microfonul, adăugați evenimentul aici * / stage.addEventListener (MouseEvent.MOUSE_MOVE, stopTimer ); stage.addEventListener (MouseEvent.MOUSE_DOWN, stopTimer); stage.addEventListener (MouseEvent.MOUSE_UP, stopTimer); stage.addEventListener (tastaturăEvent.KEY_DOWN, stopTimerK); stage.addEventListener (tastaturăEvent.KEY_UP, stopTimerK); / * Dacă nu există activitate timp de 5 secunde, un mesaj va afișa funcția * privată showMsg (e: TimerEvent): void addChild (ecran); // adaugă ecranul adăugat = adevărat; / * Dacă există activitate, ștergem mesajul și resetăm cronometrul * / funcția privată stopTimer (e: MouseEvent): void if (added) removeChild (ecran); added = false; timer.stop (); timer.start (); funcția privată stopTimerK (e: KeyboardEvent): void if (adăugat) removeChild (ecran); added = false; timer.stop (); timer.start ();
Nu uitați să adăugați numele clasei în câmpul Clasă în secțiunea Publicare din panoul Proprietăți.
Aceasta este o modalitate utilă și ușoară de a detecta activitatea utilizatorilor. În acest exemplu, activitatea detectată se bazează pe evenimentele mouse-ului și ale tastaturii, însă puteți adăuga cu ușurință un microfon sau alt eveniment de intrare pentru a satisface nevoile dvs..
Sper că ți-a plăcut acest sfat rapid, mulțumesc pentru lectură!