Ver Mensaje Individual
  #8 (permalink)  
Antiguo 02/08/2010, 17:35
Avatar de esdebon
esdebon
 
Fecha de Ingreso: agosto-2008
Ubicación: México
Mensajes: 167
Antigüedad: 16 años, 3 meses
Puntos: 18
Respuesta: menú dinámico?

Partiendo de que el boton es "generico" y que tiene los mismos frames, si las funciones mandan a los mismos frames.

El codigo que escribi lo redacte aqui mismo en el foro, no lo probe, pero era una guia para resolver tu problema, no lo pense como la respuesta al mismo.

la verdad se me paso lo de que si quitabas el raton se activaria la funcion del MOUSE_OUT, para evitar eso tendrias que agregar una bandera de "activo" o "inactivo" a cada boton:

Código:
import fl.motion.MotionEvent;
import flash.events.MouseEvent;

function todosLibres(){
      uno.bandera=false; 
     dos.bandera=false; 
     tres.bandera=false; 
}

 todosLibres()

uno.campoNombre.text='Inicio';
dos.campoNombre.text='Seccion';
tres.campoNombre.text='Otra Seccion';

uno.addEventListener(MouseEvent.MOUSE_OVER, sobre);
uno.addEventListener(MouseEvent.MOUSE_OUT, deseleccionado);
uno.addEventListener(MouseEvent.MOUSE_CLICK, seleccionado);

dos.addEventListener(MouseEvent.MOUSE_OVER, sobre);
dos.addEventListener(MouseEvent.MOUSE_OUT, deseleccionado);
dos.addEventListener(MouseEvent.MOUSE_CLICK, seleccionado);

tres.addEventListener(MouseEvent.MOUSE_OVER, sobre);
tres.addEventListener(MouseEvent.MOUSE_OUT, deseleccionado);
tres.addEventListener(MouseEvent.MOUSE_CLICK, seleccionado);


function sobre(e:MouseEvent):void{
        if(e.target.bandera==false){
               e.target.gotoAndPlay('el frame donde empieza la animacion onOver')
        }
}
function deseleccionado(e:MouseEvent):void{
        if(e.target.bandera==false){        
            e.target.gotoAndPlay('el frame donde empieza la animacion onOut')
        }
}
function seleccionado(e:MouseEvent):void{
        if(e.target.bandera==false){
                 e.target.gotoAndStop('el frame donde se queda seleccionado')
                 todosLibres()
                 e.target.bandera=true;
                //Accion del boton al dar clic
         }
}
Agregue una condicion para cada estado, esto hace que si ya diste clic a un boton, ya no cambie al pasar el raton o al dar otro clic y una funcion que libera la condicion para cada boton.

Esta funcion todosLibres() se usa al principio para que todos los botones sean activos y el dar clic se usa la funcion para que si ya habias seleccionado algun otro boton este quede activo.


Saludos