Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2013, 07:34
marcwolf
 
Fecha de Ingreso: junio-2010
Mensajes: 353
Antigüedad: 14 años, 5 meses
Puntos: 6
Botones dinamicos con acciones dinamicas en onMouseDown

Hola,
pues eso, no sé cómo asignar dinamicamente acciones con onMouseDown, a los botones creados dinamicamente.

Trozo dentro de for , que no logro hace dinámico :(
Código as2:
Ver original
  1. modelButton.onMouseDown = function (){
  2.             if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
  3.            
  4.                
  5.  /* PROBLEMA AQUÍ
  6. Si aquí pongo if(this._name == "empresa1") si que me va pero al poner "empresa+1 no me va :(
  7.  
  8. */var butName= "empresa" + i;
  9.                 if(this._name == butName){
  10.                     // trace("empresa" + i)acciones
  11.                     _global.nombre_empresa = nom_empresa[i-1];
  12.                     _global.edifici_empresa = edifici_empresa[i-1];
  13.                     _global.ubicacio_empresa = ubicacio_empresa[i-1];
  14.                     _global.desc_empresa =  desc_empresa[i-1];
  15.                     _global.logoUrl_empresa = logoUrl_empresa[i-1];
  16.                     _root.eliminar_resultados_irContenido();
  17.                    
  18.                 }
  19.  
  20.  
  21.             } //fin if
  22.         }//fin onMouseDown

Código entero
Código as2:
Ver original
  1. //creamos un MovieClip vacio q funcionara como contenedor a nuestros botones
  2. this.createEmptyMovieClip("empresasList",this.getNextHighestDepth());
  3. empresasList._x = 0;
  4. //creamos un Array con los nombres de los botones y q nos dira cuantos queremos
  5. var nom_empresa:Array = _root._global.arrayEncontradosList_nom_;
  6. var edifici_empresa:Array = _root._global.arrayEncontradosList_edifici_;
  7. var ubicacio_empresa:Array = _root._global.arrayEncontradosList_ubicacio_;
  8. var desc_empresa:Array = _root._global.arrayEncontradosList_desc_;
  9. var logoUrl_empresa:Array = _root._global.arrayEncontradosList_logoUrl_;
  10.                    
  11. var button_name:Array = new Array();
  12.  
  13. //usamos with() para escribir dentro del clip vacio
  14. with(empresasList){
  15.    
  16.     //posicionamos la botonera
  17.  
  18.     //creamos un for seteado por la longitud del Array
  19.     for(i=1;i <= nom_empresa.length; i++){
  20.        
  21.         //declaramos una vaiable de tipo MovieClip q funcionara de modelo a nuestros botones
  22.         //le damos por valor cada boton attachado
  23.         var modelButton:MovieClip = this.attachMovie("empresa", "empresa" + i, this.getNextHighestDepth ());
  24.      
  25.         //posicionamos los botones
  26.         modelButton._x = 0;
  27.         if( i == 0){modelButton._y = 0;}
  28.         else{
  29.         modelButton._y = (i-1)*35; //multiplicamos por 0, para q la distancia sea constante
  30.         }
  31.         //le ponemos titulo a cada boton, dados por los elementos del Array
  32.         modelButton.t.text = nom_empresa[i-1];
  33.        
  34.         //simulamos eventos RollOver y RollOut
  35.         modelButton.onEnterFrame = function (){
  36.            
  37.             //ecuacion para la trancicion de alpha
  38.             //donde: a = transparencia
  39.             //       v = velocidad de trancicion
  40.             this._alpha += (this.a - this._alpha) /this.v;
  41.                        
  42.             //si el cursor esta sobre el boton...          
  43.             if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
  44.                 //...cambia su transparencia al 50%
  45.                 this.a = 50;
  46.                 this.v = 5;
  47.                
  48.                 //sino, vuelve o se mantiene al 100%
  49.                 } else{
  50.                     this.a = 100;
  51.                     this.v = 10;
  52.                     }
  53.                 }
  54.        
  55.         modelButton.onMouseDown = function (){
  56.  
  57.             if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
  58.                
  59.                  /* PROBLEMA AQUÍ
  60. Si aquí pongo if(this._name == "empresa1") si que me va pero al poner "empresa+1 no me va :(
  61.  
  62. */var butName= "empresa" + i;
  63.                 if(this._name == butName){
  64.                     // trace("empresa" + i)acciones
  65.                     _global.nombre_empresa = nom_empresa[i-1];
  66.                     _global.edifici_empresa = edifici_empresa[i-1];
  67.                     _global.ubicacio_empresa = ubicacio_empresa[i-1];
  68.                     _global.desc_empresa =  desc_empresa[i-1];
  69.                     _global.logoUrl_empresa = logoUrl_empresa[i-1];
  70.                     _root.eliminar_resultados_irContenido();
  71.                    
  72.                 }
  73.             } //fin if
  74.         }//fin onMouseDown
  75.     }//fin for
  76.        
  77. }//fin with

Gracias de antemano