Flash MX - setInterval() - Detectar inactividad
actionScript | Diciembre 15th, 2004Versión para imprimir
KeyWords
setInterval(), clearInterval(), onMouseMove(),addListener().
Este código podriamos utilizarlo por ejemplo, para activar un salvapantallas, un mensaje, etc. tras un periodo de tiempo de inactividad.
tiempo = 2;
// -- función que se activa cada intervalo marcado por la variable 'tiempo'
idInterval = setInterval(function () {
// -- mouse_moved = false = no hay movimiento
if (mouse_moved == false) {
// -- desactivar setInterVal(), opcional
clearInterval(idInterval);
// -- goTo, loadMovie(), etc ...
trace(tiempo+" segundos sin actividad");
} else {
// -- restaurar variable
mouse_moved = false;
}
}, tiempo*1000);
// -- crear un objeto detector
mouse_Listener = new Object();
mouse_Listener.onMouseMove = function() {
// -- mouse_moved = true = hay movimiento
mouse_moved = true;
};
// -- registrar el detector (mouse_Listener) en el objeto Mouse
Mouse.addListener(mouse_Listener);
Diciembre 15th, 2004 at 5:15 pm
Hola,
muy bien Toni, pero no entendo este accion
, tiempo * 1000);
porque una , antes tiempo ?
Yaya
Diciembre 15th, 2004 at 6:19 pm
Hola YaYa,
setInterval, reproduce ciclos en intervalos que se miden en milisegundos, por eso multiplico la variable ‘tiempo’ por 1000 (2*100) 2 segundos.
saludos
Diciembre 15th, 2004 at 8:24 pm
Hola!
Yo tengo otra alternativa para detectar la inactividad del raton.
//*****************//
// Cursor inactivo
//*****************//
var px:Number,py:Number,px2:Number,py2:Number;
px2 = _xmouse;
py2 = _ymouse;
var intervalo:Boolean = false;
var cuentatras;
var tiempodeespera:Number = 2000; // Tiempo a esperar
_root.onEnterFrame = function(){
px = _xmouse;
py = _ymouse;
if(px == px2 && py == py2){
if(!intervalo){
cuentatras = setInterval(redireccion,tiempodeespera);
intervalo = true;
}
}else{
clearInterval(cuentatras);
intervalo = false;
}
px2 = px;
py2 = py;
}
// Función a ejecutar
function redireccion(){
trace("hola");
vartrace = “hola";
clearInterval(cuentaatras);
}
Diciembre 22nd, 2004 at 9:47 pm
Using that code you are creating an onEnterFrame function and that might become heavy for cpu’s,
I think tony method is a good one.