Comunidad de diseño web y desarrollo en internet online

Crear Botones a partir de un Boton

Citar            
MensajeEscrito el 07 Ago 2009 02:55 pm
Muy buenos dias Foreros... tengo la siguiente duda y no se realmente como implementarla.

Tengo un mapa, el cual por cada provincia tengo un boton asignado.
La idea es que luego de apretar sobre cada provincia me genere un nuevo menu de botones verticales con el nombre de cada localidad asociada a esa provincia

Mapa->Provincia->Localidades->Datos de estadisticas

Por lo que estuve viendo en la red por medio del metodo _root.attachMovie podria crearlo. Pero yo ese metodo lo deberia de poner adentro del metodo on (press) de cada una de mis provincias... y por lo que entiendo el _root hace referencia al raiz que en este caso es mi boton.

Si estoy errado por favor avisenme, y si tienen alguna idea de como implementar lo que quiero sera muuuuy bienvenida.

Desde ya muchas gracias

Matias

Por mcamelli

4 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 Ago 2009 05:39 pm
Hola mcamelli

bien no se si esta respuesta te pueda ayudar, pero aqui te va.

quiza sea mas facil manejar cada provincia ocomo un swf, donde coloques botones que te lleven por lo fotogramas a los menus que describiste antes, luegon entonces cada boton de provincia solo tendrias que ponerle un Loadmovie y para regresarte al mapa principal, colocas un Unloadmovie o podrias igual poner un Loadmovie y cargar el Mapa principal.

espero sea de tu ayuda.

un saludo

Por loboblanco

74 de clabLevel



 

msie7
Citar            
MensajeEscrito el 07 Ago 2009 06:42 pm
Muchas Gracias Lobo.. me sorprende que tienes como imagen un lobo exactamente igual al que tengo tatuado en uno de mis brazos... anecdotico simplemente.

En funcion de tu respuestas podria decirte que no estoy tan ducho en Flash con PHP, pero a pesar de todo esto logre crear los botones dinamicamente, pero ahora tengo una cosa muy rara, luego de crear los botones de las LOCALIDADES asociadas al boton PROVINCIA, quiero decirle que cuando apreto en esa LOCALIDAD me traiga un dato que es AÑO, y me cree un nuevo boton por cada AÑO que hay cargado en la base de datos.
El problema es que cuando aprieto en el primer boton de mi lista de LOCALIDADES o en el segundo o en cualquiera de ellos, automaticamente desaparece esa LOCALIDAD de la lista y me trae por supuesto los AÑOS y me crea su respectivo boton. Como veran el problema es que DESAPARECE EL PRIMER BOTON DE MI LISTA DE LOCALIDADES

Voy a adjuntar aca mismo el codigo para que me puedan decir cual es el problema o si ven algo a simple vista que este haciendo que esto pase... YO NO ME DOY CUENTA

Código :

on (press){   
inicioX=350;
inicioY=220;
separacionVertical=30;
//detalles.htmlText="Elija un usuario en el menú de la izquierda. ID = "+this.id;
   
   // objeto LoadVars que recibe el listado de usuarios
   datos_bd=new LoadVars();
   datos_bd.id=20;//Valor asignado por tabla de provincias
   datos_bd.sendAndLoad("http://192.168.1.200/ProyectoMapa/loadVars_datos.php",datos_bd,"POST");
   detalle_anios=new LoadVars();
   
   datos_bd.onLoad=function(){
      provincia = datos_bd.provincia.split("@@@");
      localidades = datos_bd.localidades.split("@@@");
      localidades_id = datos_bd.localidades_id.split("@@@");
      separador = "----------------------------------------------------------";
      detalles.htmlText = "";
      var prov=_root.attachMovie("nombre","nombre"+1,i+1,{_x:300,_y:130+(separacionVertical)});
      prov.nick.text=provincia;
      //detalles.htmlText = "<b>Provincia: </b>"+provincia+"<br>"+separador;
      for(var i=0;i<localidades.length-1;i++){
         var nom=_root.attachMovie("nombre","nombre"+i,i+1,{_x:inicioX,_y:inicioY+(separacionVertical*(i-1))});
         nom.nick.text=localidades[i];
         nom.localidad_id=localidades_id[i];
         nom.id_prov=datos_bd.id;
         //detalles.htmlText+="<b>Localidades: </b>"+nom.localidad_id+"<br>"+separador;
         nom.onRelease = function (){
            this._parent.obtenerAnios(this.id_prov,this.localidad_id);
            //this._parent.obtenerEstadisticas(this.id);
         }      
      }
   }
   
   obtenerAnios=function(id_prov,localidad_id){
      //var detalle_anios=new LoadVars();
      detalle_anios.id_prov=id_prov;
      detalle_anios.localidad_id=localidad_id;
      //estadisticas.htmlText="DATO="+id_prov;
      detalle_anios.onLoad=mostrarAnios;
      detalle_anios.sendAndLoad("http://192.168.1.200/ProyectoMapa/loadVars_anios.php",detalle_anios,"POST");
   }
   
   mostrarAnios=function(){
      X=840;
      Y=160;
      separacionVertical=30;
      anios=detalle_anios.anios.split("@@@");
      //estadisticas.htmlText="Hola mundo"+anios.length;
      for(var i=0;i<anios.length-1;i++){
         var ano=_root.attachMovie("ano","ano"+i,i+1,{_x:X,_y:Y+(separacionVertical*(i-1))});
         ano.nick.text=anios[i];
         ano.ano_id=anios[i];
         //detalles.htmlText+="<b>Localidades: </b>"+nom.localidad_id+"<br>"+separador;
         ano.onRelease = function (){
            estadisticas.htmlText+="<b>HOLA MUNDILLO</b>";
         }      
      }
   }
   
   obtenerEstadisticas=function(id){
      var detalle_estadistica=new LoadVars();
      detalle_estadistica.id=id;
      detalle_estadistica.onLoad=mostrarDetalle;
      detalle_estadistica.sendAndLoad("http://192.168.1.200/ProyectoMapa/loadVars_datos.php",detalle_estadistica,"POST");
   }
   
   mostrarDetalle=function(){
      detalles.htmlText="";
      for(var i=0;i<localidades.length-1;i++){
         estadisticas.htmlText+="<b>Localidades: </b>"+localidades[i]+"<br>"+separador;
      }
   }
}


donde analizando bien el problema esta a partir de este momento

Código :

mostrarAnios=function(){
      X=840;
      Y=160;
      separacionVertical=30;
      anios=detalle_anios.anios.split("@@@");
      //estadisticas.htmlText="Hola mundo"+anios.length;
      for(var i=0;i<anios.length-1;i++){
         var ano=_root.attachMovie("ano","ano"+i,i+1,{_x:X,_y:Y+(separacionVertical*(i-1))});
         ano.nick.text=anios[i];
         ano.ano_id=anios[i];
         //detalles.htmlText+="<b>Localidades: </b>"+nom.localidad_id+"<br>"+separador;
         ano.onRelease = function (){
            estadisticas.htmlText+="<b>HOLA MUNDILLO</b>";
         }      
      }
   }


Disculpen los comentarios en el medio de codigo.

Desde ya muchas gracias a todos

Matias

Por mcamelli

4 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 Ago 2009 10:42 pm
Lobo o aquel que lea este post...

Encontre donde estaba el problema, en el valor de la profundidad. Poniendole una profundidad de i+10 no me molesta mas, pero la verdad es que no termino de comprender muy bien para que seria ese parametro, y no se si en un futuro ese i+10 me va a generar algun problema... por lo tanto.. me gustaria saber como hago para controlar ese valor dinamicamente sin necesidad de harcodear absolutamente nada en funcion de la cantidad de cosas que tenga que ir poniendo.

Desde ya muchas gracias

Por mcamelli

4 de clabLevel



 

chrome

 

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