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

Problemas con evento RollOver y clase Tween en as2

Estas en el tema de Problemas con evento RollOver y clase Tween en as2 en el foro de Flash y Actionscript en Foros del Web. Buenos dias compañeros: No se si este problema es por el evento o la clase , ambas o algo se me escapa que no sepa. ...
  #1 (permalink)  
Antiguo 02/12/2010, 07:20
 
Fecha de Ingreso: octubre-2007
Mensajes: 118
Antigüedad: 17 años, 1 mes
Puntos: 11
Problemas con evento RollOver y clase Tween en as2

Buenos dias compañeros:
No se si este problema es por el evento o la clase , ambas o algo se me escapa que no sepa.
Tengo el siguiente codigo:
Código:
import mx.transitions.Tween;
import mx.transitions.easing.*;

inicio_btn.onRollOver=function(){
var inicioTween:Tween = new Tween(inicio_mc, "_y", Strong.easeOut, inicio_mc._y, 50, 2, true);
inicioTween.onMotionFinished = function() {
var inicioTween:Tween = new Tween(inicio_mc, "_y", Strong.easeOut, 50, 96, 2, true);
};
};
nosotros_btn.onRollOver=function(){
var nosotrosTween:Tween = new Tween(nosotros_mc, "_y", Strong.easeOut, nosotros_mc._y, 50, 2, true);
nosotrosTween.onMotionFinished = function() {
var nosotrosTween:Tween = new Tween(nosotros_mc, "_y", Strong.easeOut, 50, 96, 2, true);
};
};
servicios_btn.onRollOver=function(){
var serviciosTween:Tween = new Tween(servicios_mc, "_y", Strong.easeOut, servicios_mc._y, 50, 2, true);
serviciosTween.onMotionFinished = function() {
var serviciosTween:Tween = new Tween(servicios_mc, "_y", Strong.easeOut, 50, 96, 2, true);
};
};
contacto_btn.onRollOver=function(){
var contactoTween:Tween = new Tween(contacto_mc, "_y", Strong.easeOut, contacto_mc._y, 50, 2, true);
contactoTween.onMotionFinished = function() {
var contactoTween:Tween = new Tween(contacto_mc, "_y", Strong.easeOut, 50, 96, 2, true);
};
};

inicio_btn.onPress=function(){
	getURL('http://www.psicoeducativo.com/index.php?option=content&id=1');
}
nosotros_btn.onPress=function(){
	getURL('http://www.psicoeducativo.com/index.php?option=content&id=2');
}
servicios_btn.onPress=function(){
	getURL('http://www.psicoeducativo.com/index.php?option=content&id=3');
}
contacto_btn.onPress=function(){
	getURL('http://www.psicoeducativo.com/index.php?option=content&id=1');
}
Como mas o menos vereis, tengo 4 pestañas de menú que cuando pasen sobre ellas hagan una animación y al acabar , vuelva la pestaña a su lugar. Hasta ahi bien.
El problema que tengo es que si paso 1 vez por una pestaña empieza la animación , y si vuelvo a pasar 2 , 3 veces más , cuando acaba de hacer la animación, vuelve a hacerla esas 2, 3 veces lo cual es totalmente falso a lo que yo quiero hacer.

Es decir , yo quiero que cuando se esté sobre la pestaña, ejecute la función y durante ese proceso, si me vuelvo a poner encima de esa pestaña, no registre o grabe, que ha de hacerla de nuevo esas x veces que yo pase hasta que la funcion haya acabado por completo.

Espero puedan ayudarme porque imagino que habra alguna excepcion en eventos o algo pero as2 no es muy fuerte de programación que digamos jeje.
  #2 (permalink)  
Antiguo 02/12/2010, 09:01
Avatar de pulento  
Fecha de Ingreso: noviembre-2002
Ubicación: En un pequeño, helado, obscuro reino... llamado Dinamarca.
Mensajes: 1.852
Antigüedad: 22 años, 1 mes
Puntos: 1
Respuesta: Problemas con evento RollOver y clase Tween en as2

Holas,
2 cosas a primera vista:
1. usas las variables y les das el mismo nombre, en lo posible usa diferentes nombres para las variables. Declara estas variables en forma global, osea fuera de la funcion.
2. pones la funcion que se activara en el motionFinished, dentro de esta. Muevela fuera de la funcion, creo que la toma como funcion recursiva.

Te pongo un ejemplo.

import mx.transitions.Tween;
import mx.transitions.easing.*;
var inicioTween:Tween;
var inicioTween2:Tween;

inicio_btn.onRollOver=function(){
inicioTween = new Tween(inicio_mc, "_y", Strong.easeOut, inicio_mc._y, 50, 2, true);

inicioTween.onMotionFinished = finish();
};

function finish() {
inicioTween2 = new Tween(inicio_mc, "_y", Strong.easeOut, 50, 96, 2, true);
};


Espero que te sirva.

Saludos.
__________________
http://www.flotdesign.dk/

Etiquetas: clase, rollover, tween, eventos
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 11:56.