Comunidad de diseño web y desarrollo en internet online

contador de clicks

Citar            
MensajeEscrito el 10 Jul 2009 10:33 pm
hola, tengo una duda :o quiero hacer que si doy 5 o 1000o 10 clicks en determinados segundos pase algo, la verdad no se como hacerle, hace poco vi una post de eso pero ya no se donde, si pueden ayudarme los amare de por vida o_______________0 ^^
gracias

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 11 Jul 2009 09:53 am
Hola,
aquí te dejo algo que quizá te sirva:

Código ActionScript :

var date:Date;
var numClicks:Number = 5;//número de clicks
var timeInterval:Number = 2000;//milisegundos
var ms:Number;
var dif:Number;
var timesArray:Array = new Array();

this.onMouseDown = function():Void
{
   date = new Date();
   ms = date.getTime();
   if (timesArray.length == numClicks)
   {
      timesArray.shift();
      timesArray.push(ms);
      dif = timesArray[numClicks - 1] - timesArray[0];
      if (dif < timeInterval)
      {
         trace(numClicks + " clicks en " + dif + " ms");
         timesArray = new Array(); //Para resetear el contador
      }
   }
   else
   {
      timesArray.push(ms);
   }
}

PD: Lo del amor de por vida no hace falta. Guardalo todo para tribak :)

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 12 Jul 2009 12:41 am
:o gracias, besos =& o_0

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 12 Jul 2009 01:04 am
oye isidoro o otra persona que guste en contestar porque aqui array es igual a mi numero de cliks, if (timesArray.length == numClicks)
sera por esta linea o_0 timesArray = new Array();??? o sea cada vez que clickeo array agrega un nuevo matriz o eso?? me gustaria creer que me estoy contestando y que mi ingenio es grande :0 pero contestenme porfa o_0

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 12 Jul 2009 05:41 am
weno =/ ya que me voy a dormir a ver si tengo suerte y mañana que despierte deseoso de sabiduria esten aqui mis respuestas
dif = timesArray[numClicks - 1] - timesArray[0]; que significa esa linea?
porfa =/es que me desespero de no saber que signifiquen =/

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 12 Jul 2009 06:35 am
longitud (Array.length propiedad)


Un entero no negativo, especificando el número de elementos en la matriz. Esta propiedad se actualiza automáticamente cuando se añaden nuevos elementos a la matriz. Cuando se asigna un valor a un elemento de matriz (por ejemplo, my_array [indice] = valor), si el índice es un número, y el índice 1 es mayor que la longitud de propiedad, la longitud de la propiedad se actualiza al índice 1.

Nota: Si asigna un valor a la propiedad que es la longitud más corta que la longitud actual, la matriz se trunca.

Disponibilidad: ActionScript 1.0, Flash Player 5

Ejemplo
El código siguiente se explica cómo la longitud de la propiedad se actualiza. La longitud inicial es 0 y, a continuación, actualizada a 1, 2, y 10. Si asigna un valor a la propiedad que es la longitud más corta que la longitud actual, la matriz se trunca:

Código ActionScript :

var my_array: Array = new Array ();
trace (my_array.length); / / longitud inicial es 0
my_array [0] = "uno";
trace (my_array.length); / / my_array.length se actualiza a 1
my_array [1] = "b";
trace (my_array.length); / / my_array.length se actualiza al 2 de
my_array [9] = "c";
trace (my_array.length); / / my_array.length se actualiza a 10
trace (my_array);
/ / Muestra:
/ / A, b, indefinido, indeterminado, indefinido, indeterminado, indefinido, indeterminado, indefinido, c

/ / Si la longitud es ahora de propiedad a 5, la matriz se truncará
my_array.length = 5;
trace (my_array.length); / / my_array.length se actualiza a 5
trace (my_array); / / salidas: a, b, indefinido, indeterminado, indefinido
> cambiar
      


textos: By f1 :D
traducido al español por google traductor

Por checheno

528 de clabLevel

3 tutoriales

 

Mar del Plata - Argentina

firefox
Citar            
MensajeEscrito el 12 Jul 2009 09:24 pm
Perdón por no responder antes, pero he estado fuera todo el día de ayer. Y ahora que he vuelto a leer este post me alegra que me hagas esta pregunta, porque he visto el código y me he dado cuenta de que hay algo mal (si nada más ejecutarlo pulsamos las primeras 5 pulsaciones en menos de los 2 segundos, no se ejecutan las acciones).
En cuanto a tu pregunta, tienes que pensar que por cada vez que pulsemos el botón del ratón, guardaremos en el array el momento justo en el que lo hemos pulsado, luego nuestro array tiene que tener un tamaño igual al número de pulsaciones que hemos establecido en la variable numClicks. if (timesArray.length == numClicks) significa que si el tamaño del array es igual a ese número de pulsaciones (luego hemos pulsado 5 veces el botón), se ejecutarán las acciones siguientes.
timesArray = new Array(); lo que hace es crear un array nuevo (al principio, porque luego su utilidad es que al volver a definirlo como un nuevo array, nos borrará los datos que hemos ido guardando cuando se cumpla la condición de las 5 pulsaciones en 2 segundos (2000 milisegundos). Lo que va agregando los tiempos al array es la línea timesArray.push(ms);
Aquí te dejo el código arreglado, y comentado línea a línea, por si le quieres echar un vistazo:

Código ActionScript :

var date:Date; //Variable para obtener el momento de tiempo actual
var numClicks:Number = 5; //Número de clicks necesarios para lanzar las acciones que queremos que se realizen
var timeInterval:Number = 2000; //Intervalo de tiempo (en milisegundos)
var ms:Number; //La variable date nos dará una fecha completa (día, mes, año, hora, ...) así que en ms guardaremos sólo los milisegundos
var dif:Number; //Para calcular la diferencia en milisegundos entre la primera pulsación y la número 5
var timesArray:Array = new Array(); //Array que guardará los tiempos (en milisegundos) de las 5 pulsaciones

this.onMouseDown = function():Void //Evento que se ejecuta cada vez que hacemos click con el botón del ratón
{
   date = new Date(); //Se halla el tiempo actual
   ms = date.getTime(); //De la variable date, extraemos sólamente el número de milisegundos
   
   timesArray.push(ms); //Introducimos en el array el número de milisegundos de esta pulsación del botón
   
   if (timesArray.length == numClicks) //Si el tamaño del array es igual al número de pulsaciones (significa que ya hemos pulsado al menos 5 veces el botón)
   {
      dif = timesArray[numClicks - 1] - timesArray[0]; //Se calcula la diferencia de milisegundos entre la primera pulsación y la quinta
      if (dif < timeInterval) //Si esa diferencia es menor que el tiempo que hemos establecido
      {
         trace(numClicks + " clicks en " + dif + " ms"); //Se ejecutan las acciones que queremos, en este caso un simple trace
         timesArray = new Array(); //La condición se ha cumplido, luego hay que vaciar el array (los tiempos que hemos ido guardando en el array ya no nos sirven). La forma de vaciarlo es definirlo como un nuevo array vacío.
      }
      else //Si no se han realizado las 5 pulsaciones dentro del tiempo
      {
         timesArray.shift(); //Eliminamos el primer elemento del array, con lo cual volvemos a quedarnos con 4 elementos
      }
   }
}

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Jul 2009 06:14 pm
oooooooo:0 gracias checheno e isidoro o_0 =) =)

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.