Astuce détecter l'inactivité de l'utilisateur dans une animation flash

Dans cette astuce, vous apprendrez à détecter le moment où l'utilisateur est resté inactif pendant un temps déterminé. Continuez à lire pour savoir comment!


Aperçu du résultat final

Jetons un coup d'œil au résultat final sur lequel nous allons travailler:


Étape 1: bref aperçu

Nous allons détecter les interactions des utilisateurs à l'aide d'événements de clavier et de souris, en vérifiant l'activité récente à l'aide d'un minuteur. Nous afficherons un message si le temps déterminé s'est écoulé sans activité.


Étape 2: Configurez votre fichier Flash

Lancer Flash et créer un nouveau document Flash.

Définissez la taille de la scène sur 550x250px.


Étape 3: interface

C'est l'interface que nous allons utiliser, un simple arrière-plan avec un message indiquant à l'utilisateur d'attendre cinq secondes. L’écran suivant s’affiche une fois les cinq secondes écoulées - convertissez-le en MovieClip et marquez le Exporter pour ActionScript boîte. C'est nommé L'écran.

Bien entendu, il ne s’agit que d’une des nombreuses choses que vous pouvez faire lorsque le temps d’inactivité s’écoule. GrooveShark, par exemple, met la musique en pause et affiche un message demandant à l’utilisateur s’il souhaite continuer à utiliser l’application. C'est à vous de décider quoi faire.


Étape 4: ActionScript

C'est la classe qui fait le travail, lisez les commentaires dans le code pour en savoir plus sur son comportement.

 package import flash.display.Sprite; import flash.events.TimerEvent; import flash.utils.Timer; import flash.events.MouseEvent; import flash.events.KeyboardEvent; classe publique Main étend Sprite écran privé var: TheScreen = new TheScreen (); // Crée une nouvelle instance de TheScreen private var added: Boolean = false; // Un booléen pour vérifier si l'écran a été ajouté à stage / * Timer Object * / private var timer: Timer = new Timer (5000); // Cinq secondes pour cet exemple de fonction publique Main (): void timer.start (); // Démarre le minuteur timer.addEventListener (TimerEvent.TIMER, showMsg); // Ecoute le minuteur pour terminer / * Auditeurs de souris et de clavier, arrête le minuteur lorsqu'un événement se produit. Si vous utilisez une autre méthode de saisie, comme le microphone, ajoutez son événement ici * / 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);  / * S'il n'y a pas d'activité pendant 5 secondes, un message affiche * / private function showMsg (e: TimerEvent): void addChild (screen); // Ajoute l'écran added = true;  / * S'il y a de l'activité, nous effaçons le message et réinitialisons le chronomètre * / fonction privée stopTimer (e: MouseEvent): void if (ajouté) removeChild (screen); ajouté = faux;  timer.stop (); timer.start ();  fonction privée stopTimerK (e: KeyboardEvent): void if (ajouté) removeChild (screen); ajouté = faux;  timer.stop (); timer.start (); 

Étape 5: Classe de document

N'oubliez pas d'ajouter le nom de la classe au champ Classe de la section Publier du panneau Propriétés..


Conclusion

C'est un moyen utile et facile de détecter l'activité des utilisateurs. Dans cet exemple, l'activité détectée est basée sur les événements Souris et Clavier, mais vous pouvez facilement ajouter un microphone ou un autre événement d'entrée pour répondre à vos besoins..

J'espère que vous avez aimé ce petit conseil, merci d'avoir lu!