Comunidad de diseño web y desarrollo en internet online

Botón relacionado con animación

Citar            
MensajeEscrito el 25 May 2007 01:26 am
Hola, tengo un poco de tiempo de no consultar en un foro, he querido más poner mi granito de arena y ayudar un poquito (si mi nivel de Claber está bajo, imaginen como estaba cuando no había ayudado mucho :lol: :lol: :lol: ) en fin, ahora realmente necesito AYUDA!!! (intenta ser un grito de necesidad) les planteo mi problema:

Tengo un menú de 4 botones, estos tienen una animación que:

1. si estás sobre el botón 1 sale una línea que lo subraya y si das click se queda subrayándolo.
2. si estás sobre el botón 2 sale una línea que lo subraya y si das click se queda subrayado este y
se quita el subrayado del botón 1 (la animación corre en reversa)

y así sucesivamente con cada botón, la situación se presenta con la animación que activan los botones cuando se les da click, es decir:

1. Cuando se le da click al botón 1 corre un MC que está en el centro de la película (hasta allí
todo bien)

EL PROBLEMA:
Este se da porque necesito que cuando se presione otro botón (no importa cual de
los 4 porque tiene que hacer lo mismo con todos) el MC corra en reversa o bien regrese a su lugar antes de correr el MC que se activa por el click en cualquiera de los botones.

El código que tiene cada botón es el siguiente:

Código :

on (rollOver) {
   if (_root.link != a) {
      gotoAndPlay("over");
   }
   // end if 
}
on (releaseOutside, rollOut) {
   if (_root.link != a) {
      gotoAndPlay(_totalframes-_currentframe);      
   }
   // end if 
}
on (release) {
   if (_root.link != a) {
      _root.somosmc.gotoAndPlay("sf2");
      _root.menu["butt"+_root.link].gotoAndPlay("out");
      _root.link = a;
   }
   // end if 
}


Como se puede ver, en el "on (release)" está la línea que hace que el MC corra, pero cómo lo configuro para hacer que si se presiona otro botón la animación que está activa se vaya en reversa antes de reproducir la nueva.

Espero no sea muy confuso y si es así por favor escribanlo, así veo la manera de mejorar la redacción o hacer algo porque realmente necesito hacerlo de esa manera.
:crap:

Por Rudy3001

69 de clabLevel



 

Por los grandes paisajes de Guatemala

opera
Citar            
MensajeEscrito el 25 May 2007 04:05 am
crea un simbolo vacio llamado "Control", y lo pones en la linea de tiempo con el mismo nombre de instancia
y en el fotograma 1 de este movieclip coloca el siguiente codigo

Código :

_global.mcAnt = null;
_global.mcAct = null;
RegresaAnt = function () {
   // esta función se repite hasta que el clip anterior llega al frame 1.
   if ( isNull(_global.mcAnt) or _global.mcAnt._currentframe < 2) {
      this.onEnterFrame = null; 
      _global.mcAct.play(): // aqui inicia el siguiente clip
      _global.mcAnt = _global.mcAct; // convierte el clip nuevo a anterior
      return;
   }
   _global.mcAnt.gotoAndStop(_global.mcAnt._currentframe-1); // aqui regresa un frame el clip anterior
}
IniciaMC = function (mcInicia) {
   _global.mcAct = mcInicia; // guarda el mc que se va a iniciar, pero todavia no lo inicia
   this.onEnterFrame = RegresaAnt; // primero se regresa el clip anterior
}

el on-Release de tus botones lo cambias por:

Código :

on (release) {
   if (_root.link != a) { // no entiendo para que esta linea
      _root.Control.IniciaMC(_root.somosmc); // aqui pones el movieclip que inicia el boton
//      _root.somosmc.gotoAndPlay("sf2"); //se comenta esta linea, supongo q con esta iniciabas el MC
      _root.menu["butt"+_root.link].gotoAndPlay("out"); // supongo q con esta linea regresas el boton
      _root.link = a; // no entiendo que contiene "a"
   }   // end if 
}

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 25 May 2007 06:22 am
Ahora explico para que sirve la letra "a"...

Lo que sucede es que el botón está en un MC y en el primer frame de ese MC le doy un valor a la variable, ya sea 1, 2, 3, 4, esto entre otras cosas me sirve porque la estructura está de la siguiente manera:

Un MC que contiene: un botón, un MC con los textos del botón y una animación, de modo que la variable "a" cambia de valor dependiendo del botón en el que se encuentre y está configurado de la siguiente manera:

Código :

a = 1;
stop();
ti1.gotoAndStop(a);


siendo "ti1" el MC que contiene los diferentes nombres del botón.

Ahora con lo que me has presentado anteriormente, básicamente le di copiar y pegar después de leerlo un par de veces para entender lo que estaba colocando y no sólo pegarlo así como así, pero igual no funcionó, de hecho ya ni siquiera corren los mc que tengo hechos.

Pasos que seguí:

1. Crear un MC vacío llamado Control
2. Copiar el código y pegarlo en el primer frame del MC llamado Control (a este código no le agregué ni le quité nada, excepto la línea "_global.mcAct.play(): // aqui inicia el siguiente clip" en donde cambié el "play():" por un "play();" )
3. Modificar el código on Release del botón, colocándole al botón 1 "somosmc" y al botón 2 "serviciosmc"
4. Probar la película.

Pero aún así no funcionó, y como comentaba, ahora ni siquiera reproduce los mc :crap:

Que podría estar sucediendo

Por Rudy3001

69 de clabLevel



 

Por los grandes paisajes de Guatemala

opera
Citar            
MensajeEscrito el 25 May 2007 01:25 pm
Pasame tu fla, porque necesita una reestructuracion a fondo.
gabynufe @ yahoo.com.mx

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7

 

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