Foros del Web » Creando para Internet » Flash y Actionscript »

rollover y setinterval

Estas en el tema de rollover y setinterval en el foro de Flash y Actionscript en Foros del Web. hola a todos tengo uan duda tengo un rectangulo que quiero que se mueva lentamente cunado paso el mouse encima y quiero que regrese a ...
  #1 (permalink)  
Antiguo 29/03/2005, 20:50
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 13 años, 8 meses
Puntos: 1
rollover y setinterval

hola a todos tengo uan duda tengo un rectangulo que quiero que se mueva lentamente cunado paso el mouse encima y quiero que regrese a dodne estaba cuando quito el mouse miren he hehco este codigo
en mi capa dodne esta el rectangulo en el primer fotograma hize mis funciones

_global.avanza=function(){
m._x=m._x + 1;
}
_global.retro=function(){
m._x=m._x - 1;
}

dodne m es el nombre de mi clip de pelicula

leugo en le clip de pelicula porgrame esto
on (rollOver) {
for(i=1;i<=5;i++){
wait=setInterval(avanza,100);
}
clearInterval(wait);
}

on (rollOut) {
for(j=1;j<=5;j++){
wait2=setInterval(retro,100);
}
clearInterval(wait2);
}

pero no me sale no se sie sta bien o como debria hacerlo porfavor si alguien me ayuda
__________________
http://www.luisariashidalgo.com
  #2 (permalink)  
Antiguo 30/03/2005, 04:03
 
Fecha de Ingreso: agosto-2004
Mensajes: 124
Antigüedad: 13 años, 3 meses
Puntos: 0
hace ya algún tiempo que no utilizao el actionscript pero yo diría que te sobra el bucle for en rollover y rollout y tambien el clarinterval,además cual es la función de ese bucle?aumentar la velocidad? O_O
Prueba asi:
Código:
on (rollOver) {
wait=setInterval(avanza,100);
}

on (rollOut) {
clearInterval(wait);
}
Un saludo, ya dirás como te va.
__________________
:O
  #3 (permalink)  
Antiguo 30/03/2005, 09:08
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 13 años, 8 meses
Puntos: 1
gracias bueno hago el for por que quiero que avanze 5 verces y sin for solo lo haria una vez y en el rollout quiero que regrese a su sitio tu ent u codigo lob que estas haciendo es deteniendo el interval pero no haces que el mc regrrese a su sitio

nos e si me puede ayudar
__________________
http://www.luisariashidalgo.com
  #4 (permalink)  
Antiguo 30/03/2005, 10:19
 
Fecha de Ingreso: marzo-2004
Mensajes: 338
Antigüedad: 13 años, 9 meses
Puntos: 2
Hola OYEME! redondo tiene razon respecto a lo del bucle for. No t sirve, pero x q? no t sirve x q el codigo se esta continuamente ejecutando con rollOver y por lo tanto la i siempre se esta inicializando a 1, por lo que se esta creando un bucle infinito. deberias enfocarlo respecto a las posiciones del mc. Para ello te creas dos variables:

1.- pos_x : Controla la posicion inicial del mc
2.- desplaza : Desplazamiento que deseas darle al mc

Inserta el siguiente codigo

Código:
pos_x = m._x; 
desplaza = 200; //Aqui pones el desplazamiento que quieras aplicar

_global.avanza=function()
{
  if (m._x <= pos_x + desplaza)
    m._x=m._x + 1; 
}
_global.retro=function()
{
  if (m._x > pos_x)
    m._x=m._x - 1; 
}
...y en acciones de mc

Código:
on (rollOver) 
{
  wait=setInterval(avanza,10);
  clearInterval(wait2);
}

on (rollOut) 
{
  wait2=setInterval(retro,10);
  clearInterval(wait);
}
Por cierto los clearInterval los tenias al reves.

Con eso deberia funcionarte. Un saludo!.
__________________
SiMpLiFiKa
http://www.manitasdelweb.com

Última edición por chem; 30/03/2005 a las 10:30
  #5 (permalink)  
Antiguo 30/03/2005, 13:14
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 13 años, 8 meses
Puntos: 1
muchas gracias chem = a redondo me quedo todo claro lo habia hehcod e otra forma con el enterfraME PERO ESTA ERA LA MAS FACIL gracias
__________________
http://www.luisariashidalgo.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:34.