In diesem Schnelltipp erfahren Sie, wie Sie feststellen, wann der Benutzer eine bestimmte Zeit inaktiv war. Lesen Sie weiter, um herauszufinden, wie!
Werfen wir einen Blick auf das Endergebnis, auf das wir hinarbeiten:
Wir erkennen die Interaktion der Benutzer mithilfe von Tastatur- und Mausereignissen und prüfen mit einem Timer, ob die neuesten Aktivitäten vorhanden sind. Eine Meldung wird angezeigt, wenn die festgelegte Zeit ohne Aktivität abgelaufen ist.
Starten Sie Flash und erstellen Sie ein neues Flash-Dokument.
Stellen Sie die Bühnengröße auf 550x250px ein.
Dies ist die Schnittstelle, die wir verwenden werden, ein einfacher Hintergrund mit einer Meldung, die den Benutzer auffordert, fünf Sekunden zu warten. Der folgende Bildschirm wird angezeigt, wenn die fünf Sekunden vergangen sind - konvertieren Sie ihn in MovieClip und markieren Sie das Export für ActionScript Box. Es heißt Der Bildschirm.
Natürlich ist dies nur eine der vielen Möglichkeiten, die Sie ausführen können, wenn die Inaktivitätszeit verstrichen ist, beispielsweise GrooveShark, die Musik pausiert und eine Meldung mit der Frage an den Benutzer abfragt, ob er die Anwendung weiterhin verwenden möchte. Es ist Ihre Berufung, um zu entscheiden, was Sie tun sollen.
Dies ist die Klasse, die die Arbeit erledigt. Lesen Sie die Kommentare im Code, um mehr über das Verhalten zu erfahren.
package import flash.display.Sprite; import flash.events.TimerEvent; import flash.utils.Timer; import flash.events.MouseEvent; import flash.events.KeyboardEvent; public class Main erweitert Sprite private var screen: TheScreen = new TheScreen (); // Erstellt eine neue Instanz von TheScreen private var hinzugefügt: Boolean = false; // Ein Boolean, um zu überprüfen, ob der Bildschirm zu stage / * Timer Object * / private var timer hinzugefügt wurde: Timer = neuer Timer (5000); // Fünf Sekunden für dieses Beispiel. Public () main (): void timer.start (); // Startet den Timer timer.addEventListener (TimerEvent.TIMER, showMsg); // Hört, dass der Timer abgeschlossen wird / / Maus- und Tastatur-Listener, stoppt den Timer, wenn ein Ereignis auftritt. Wenn Sie eine andere Eingabemethode wie das Mikrofon verwenden, fügen Sie das Ereignis hier hinzu. * / 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); / * Wenn 5 Sekunden lang keine Aktivität erfolgt, zeigt eine Nachricht die * / private Funktion showMsg (e: TimerEvent): void addChild (screen); // fügt den Bildschirm hinzu hinzu = true; / * Bei Aktivität löschen wir die Nachricht und setzen den Timer zurück. * / Private Funktion stopTimer (e: MouseEvent): void if (hinzugefügt) removeChild (screen); hinzugefügt = falsch; timer.stop (); timer.start (); private Funktion stopTimerK (e: KeyboardEvent): void if (hinzugefügt) removeChild (screen); hinzugefügt = falsch; timer.stop (); timer.start ();
Denken Sie daran, den Klassennamen im Feld "Veröffentlichen" des Eigenschaftenfensters zum Feld "Klasse" hinzuzufügen.
Dies ist eine nützliche und einfache Möglichkeit, Benutzeraktivitäten zu erkennen. In diesem Beispiel basiert die erkannte Aktivität auf den Maus- und Tastaturereignissen. Sie können jedoch problemlos ein Mikrofon oder ein anderes Eingabeereignis hinzufügen, um Ihre Anforderungen zu erfüllen.
Ich hoffe, Ihnen hat dieser Quick Tip gefallen, vielen Dank für das Lesen!