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
modelButton.onMouseDown = function (){ if (this.hitTest(_root._xmouse, _root._ymouse, true)) { /* PROBLEMA AQUÍ Si aquí pongo if(this._name == "empresa1") si que me va pero al poner "empresa+1 no me va :( */var butName= "empresa" + i; if(this._name == butName){ // trace("empresa" + i)acciones _global.nombre_empresa = nom_empresa[i-1]; _global.edifici_empresa = edifici_empresa[i-1]; _global.ubicacio_empresa = ubicacio_empresa[i-1]; _global.desc_empresa = desc_empresa[i-1]; _global.logoUrl_empresa = logoUrl_empresa[i-1]; _root.eliminar_resultados_irContenido(); } } //fin if }//fin onMouseDown
Código entero
Código as2:
Ver original
//creamos un MovieClip vacio q funcionara como contenedor a nuestros botones this.createEmptyMovieClip("empresasList",this.getNextHighestDepth()); empresasList._x = 0; //creamos un Array con los nombres de los botones y q nos dira cuantos queremos var nom_empresa:Array = _root._global.arrayEncontradosList_nom_; var edifici_empresa:Array = _root._global.arrayEncontradosList_edifici_; var ubicacio_empresa:Array = _root._global.arrayEncontradosList_ubicacio_; var desc_empresa:Array = _root._global.arrayEncontradosList_desc_; var logoUrl_empresa:Array = _root._global.arrayEncontradosList_logoUrl_; var button_name:Array = new Array(); //usamos with() para escribir dentro del clip vacio with(empresasList){ //posicionamos la botonera //creamos un for seteado por la longitud del Array for(i=1;i <= nom_empresa.length; i++){ //declaramos una vaiable de tipo MovieClip q funcionara de modelo a nuestros botones //le damos por valor cada boton attachado var modelButton:MovieClip = this.attachMovie("empresa", "empresa" + i, this.getNextHighestDepth ()); //posicionamos los botones modelButton._x = 0; if( i == 0){modelButton._y = 0;} else{ modelButton._y = (i-1)*35; //multiplicamos por 0, para q la distancia sea constante } //le ponemos titulo a cada boton, dados por los elementos del Array modelButton.t.text = nom_empresa[i-1]; //simulamos eventos RollOver y RollOut modelButton.onEnterFrame = function (){ //ecuacion para la trancicion de alpha //donde: a = transparencia // v = velocidad de trancicion this._alpha += (this.a - this._alpha) /this.v; //si el cursor esta sobre el boton... if (this.hitTest(_root._xmouse, _root._ymouse, true)) { //...cambia su transparencia al 50% this.a = 50; this.v = 5; //sino, vuelve o se mantiene al 100% } else{ this.a = 100; this.v = 10; } } modelButton.onMouseDown = function (){ if (this.hitTest(_root._xmouse, _root._ymouse, true)) { /* PROBLEMA AQUÍ Si aquí pongo if(this._name == "empresa1") si que me va pero al poner "empresa+1 no me va :( */var butName= "empresa" + i; if(this._name == butName){ // trace("empresa" + i)acciones _global.nombre_empresa = nom_empresa[i-1]; _global.edifici_empresa = edifici_empresa[i-1]; _global.ubicacio_empresa = ubicacio_empresa[i-1]; _global.desc_empresa = desc_empresa[i-1]; _global.logoUrl_empresa = logoUrl_empresa[i-1]; _root.eliminar_resultados_irContenido(); } } //fin if }//fin onMouseDown }//fin for }//fin with
Gracias de antemano