En este Consejo rápido, aprenderá a detectar cuándo el usuario ha estado inactivo durante un tiempo determinado. Sigue leyendo para averiguar cómo!
Echemos un vistazo al resultado final en el que trabajaremos:
Detectaremos la interacción de los usuarios utilizando los eventos del teclado y el mouse, y comprobaremos la actividad reciente utilizando un temporizador. Mostraremos un mensaje si el tiempo determinado ha transcurrido sin actividad.
Inicia Flash y crea un nuevo documento Flash..
Establecer el tamaño del escenario a 550x250px.
Esta es la interfaz que usaremos, un fondo simple con un mensaje que le indica al usuario que espere cinco segundos. Cuando pasen los cinco segundos, se mostrará la siguiente pantalla: conviértala a MovieClip y marque la Exportar para ActionScript caja. Se llama La pantalla.
Por supuesto, esta es solo una de las muchas cosas que puede hacer cuando pasa el tiempo de inactividad, GrooveShark, por ejemplo, hace una pausa en la música y muestra un mensaje que le pregunta al usuario si desea continuar usando la aplicación. Es tu decisión decidir qué hacer..
Esta es la clase que hace el trabajo, lea los comentarios en el código para conocer su comportamiento..
paquete import flash.display.Sprite; import flash.events.TimerEvent; import flash.utils.Timer; import flash.events.MouseEvent; import flash.events.KeyboardEvent; public class Main extiende Sprite private var screen: TheScreen = new TheScreen (); // Crea una nueva instancia de TheScreen private var added: Boolean = false; // Un booleano para verificar si la pantalla se ha agregado a la etapa / * Timer Object * / private var timer: Timer = new Timer (5000); // Cinco segundos para este ejemplo public function Main (): void timer.start (); // Inicia el temporizador timer.addEventListener (TimerEvent.TIMER, showMsg); // Escucha el temporizador para completar / * Ratón y escuchas del teclado, detiene el temporizador cuando ocurre un evento, si está utilizando otro método de entrada, como el micrófono, agregue su evento aquí * / 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); / * Si no hay actividad durante 5 segundos, aparecerá un mensaje * / private function showMsg (e: TimerEvent): void addChild (pantalla); // Agrega la pantalla agregada = verdadero; / * Si hay actividad, borramos el mensaje y restablecemos el temporizador * / función privada stopTimer (e: MouseEvent): void if (added) removeChild (screen); añadido = falso; timer.stop (); timer.start (); función privada stopTimerK (e: KeyboardEvent): void if (added) removeChild (screen); añadido = falso; timer.stop (); timer.start ();
Recuerde agregar el nombre de la clase al campo Clase en la sección Publicar del panel de Propiedades.
Esta es una manera útil y fácil de detectar la actividad del usuario. En este ejemplo, la actividad detectada se basa en los eventos del mouse y el teclado, pero puede agregar fácilmente un micrófono u otro evento de entrada para satisfacer sus necesidades.
Espero que te haya gustado este Consejo rápido, gracias por leer.!