Y el link del swf. http://www.nuevomundo.com.br/descarga/abrir_suave/abrir_suave_v3.html
El problema es casi imperceptible pero es grave, sucede que cuando pasas el mouse rapidamente por encima del algun rectangulo varias veces el se mueve para atras.
Lo que me imagino es que cuando ejecuta la funcion el "numM" queda en -5 y no da tiempo a el cronometro contabilizar. Mi conometro es el Array numRef. En pocas palabras numRef me va a contar cuantas veces tiene que ir para adelante y cuantas para atras.
Cuando numRef esté en 15 va a parar y cuando este en 0 tambien, es asi que controlo el stop del eje x.
Si alguien tiene alguna sugerencia estoy abierto a cualquier opinion.
Dejo a dispocicion el codigo:
Código :
var numRef:Array = Array();
var num:Array = Array();
numRef[0] = 0;
numRef[1] = 0;
numRef[2] = 0;
numRef[3] = 0;
num[0] = 0;
num[1] = 0;
num[2] = 0;
num[3] = 0;
function mover(nome:String, numM:Number) {
var nomePos:String;
nomePos = nome.slice(4, 6);
_root.num[nomePos] = numM;
this[nome].onEnterFrame = function() {
if (_root.num[nomePos]>0) {
this._x += (_root.num[nomePos]+10);
_root.numRef[nomePos]++;
}
if (_root.num[nomePos]<0) {
this._x += (_root.num[nomePos]-10);
_root.numRef[nomePos]--;
}
// cuando numRef esté en 15 va a parar y cuando este en 0 tambien, es asi que controlo el stop
if (_root.numRef[nomePos]>=15 || _root.numRef[nomePos]<=0) {
delete this.onEnterFrame;
}
};
}
_root.mc_a1.onRollOver = function() {
_root.mover(this._name, 5);
};
_root.mc_a1.onRollOut = function() {
_root.mover(this._name, -5);
};
_root.mc_a2.onRollOver = function() {
_root.mover(this._name, 5);
};
_root.mc_a2.onRollOut = function() {
_root.mover(this._name, -5);
};
_root.mc_a3.onRollOver = function() {
_root.mover(this._name, 5);
};
_root.mc_a3.onRollOut = function() {
_root.mover(this._name, -5);
};
Saludos a todos.
