Estuve creando una pequeña aplicación en Flash en la que necesitaba que en el momento en el que hubiese transcurrido cierto plazo de tiempo y el Mouse no se hubiese movido, se ejecutase una determinada acción actionscript.
Aquí, más o menos, el script que hice:
Código :
var raton:Object = new Object();
var ax:Number;
var ay:Number;
var px:Number;
var py:Number;
var reloj:Number = 0;
raton.onMouseMove = function()
{
reloj = 0;
ax = _xmouse;
ay = _ymouse;
};
function contador()
{
reloj++;
px = _xmouse;
py = _ymouse;
if ((reloj >= 5) && (ax = px) && (ay = py))
{
trace("Inactividad encontrada");
}
}
var hilo = setInterval(contador, 1000);
Mouse.addListener(raton);
Explicación:
Hago un listener llamado "raton" que escuche al Mouse, el cual tiene la función:
Código :
raton.onMouseMove=function();
Que hace que cuando el mouse se mueva reinicie el contador "reloj" y actualice las variables "ax" y "ay", es decir las actuales coordenadas del Mouse.
Luego mediante un hilo llamo concurrentemente a la función "contador", la cual aumenta la variable "reloj" (que es el contador) y guarda la posicion del mouse en ese segundo "px" "py"
Después hace un if() preguntando si han pasado 5 segundos y las variables ax ay coinciden con px py ,( es decir que las coordenadas por movimiento son iguales a las creadas por la función) entonces el Mouse ha estado inactivo en 5 segundos.
Enconces supondre que en la parte del codigo de: Contador
Código :
trace("Inactividad encontrada")
Lo puedo cambiar por una animacion en particular mencionado .. q no "hay actividad" .. verdad? Por:Pley
claro , asi es Play y si por ejemplo quieres ocultar el Mouse cuando hay inactividad le pones Mouse.hide(); pero recuerda poner en el raton.onMouseMove el Mouse.show(); Por:eveevans
si buen aporte! con un poco de creatividad se le puede sacar mucho jugo Por:Mukongo
hola...me interesa mucho la informatica y todo este tema, pero no tengo idea del tema, en la compu soy un desastre, pero estoy dispuesto a aprender, me interesa la pag. chauu Por:pedro_blog
he aqui lo prometido: cabe repetir que esta compilado con MDM ZINC, es por eso que veran comandos que no son de ActionScript dentro del code:
Código :
mdminit();
mdm.Exception.enableHandler();
import mx.video.*;
Stage.scaleMode="exactFit";
var raton:Object=new Object();
var ax:Number;
var ay:Number;
var px:Number;
var py:Number;
var reloj:Number=0;
var vision:Boolean;
var maxormin:Number=-1;
_root.attachMovie("FLVPlayback","mmp",1);
mmp.skinAutoHide=false;
credi._visible=false;
_global.myCallBackFunction= function(myValue)
{
if(myValue!="false")
{
_root.mmp.contentPath=myValue;
_root.mmp.play()
}
}
function verono(quierover:Boolean)
{
if(!quierover)
{
mmp.skin="";
_root.barra._visible=false;
Mouse.hide();
vision=false;
}
else
{
mmp.skin="SteelOverAll.swf";
_root.barra._visible=true;
Mouse.show();
vision=true;
}
}
barra.abrir.onRelease=function()
{
trace("open");
mdm.browsefile(myCallBackFunction);
}
barra.about.onRelease=function()
{
_root.credi._visible=true;
}
barra.bminimizar.onRelease=function()
{
mdm.Application.minimize();
}
barra.brestaurar.onRelease=function()
{
_root.maxormin*=-1;
if(_root.maxormin >0)
mdm.Application.maximize();
else
mdm.Application.restore();
}
barra.bcerrar.onRelease=function()
{
mdm.Application.exit();
}
raton.onMouseMove=function()
{
resetactual();
}
raton.onMouseDown=function()
{
resetactual();
}
function resetactual()
{
reloj=0;
ax=_xmouse;
ay=_ymouse;
if(!vision)
verono(true);
}
function contador()
{
reloj++;
px=_xmouse;
py=_ymouse;
if( (reloj>=2) && (ax=px) && (ay=py) )
verono(false);
}
var hilo=setInterval(contador,1000);
Mouse.addListener(raton);
muy bueno, yo probé hacer un cursor personalizado, y le puse la funcion del botón fade in fade out de rosvel, entonces cuando el mouse se mueve, el cursor aparece, y a los 5 segundos de no moverlo se desaparece, y asi cada vez que se mueve el mouse reaparece, y a los 5 seg desaparece. Por:el_chejin
ah, qye bueno que le encontraron utilidad, por cierto , el codigo que puse de primero tiene lineas de mas se puede dejar asi
Código :
var raton:Object=new Object();
var reloj:Number=0;
var espera:Number=3;
raton.onMouseMove=function(){
reloj=0;
}
function contador()
{
trace(reloj);
reloj++;
if(reloj>=espera)
trace(”inactividad encontrada”);
}
var hilo=setInterval(contador,1000);
Mouse.addListener(raton);
Hola... la función del mouse (MUY BUENA!!!! MUY SIMPLE!! GROSO EVVEVANS!), pero para AS3 cómo sería? porque no funciona con AS3, sí con 2.
Abrazos. Por:Emiliano-blog
hola de nuevo...
qué es o qué hace o para qué sirve ese código largo que escribiste, eveevans, el anterior al último me refiero.
Abrazos! Por:Emiliano-blog
ah, solo era el codigo de un reproductor de FLV que hice con MDM y Flash, en el cual ocupaba el codigo de deteccion de inactividad del mouse para esconder el menu
Hola a todos muy bueno el script...
solo que estoy un poco perdido.
Me gustaria poder detectar si el raton esta inactivo como pon el codigo y una vez sucedido eso se active una pelicula
es decir _root.mc.gotoAndPlay(2);
por ejemplo
pero no se dnd poner este codigo
alguien puede ayudarme..?
please Por:andtt
alguien puede echarme una mano por favor? Por:andtt
Gracias por la ayuda..!! Por:andtt-blog
por alguna extraña razon no me funciona Por:ZelticFrost-blog
porfa seria mejor un videotutorial para
saber mejor no?¿?¿? Por:kevin-blog