Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/02/2006, 11:24
Avatar de luistar
luistar
 
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
hola, acabo de responder un tema parecido
http://www.forosdelweb.com/f16/como-hacer-campo-dinamicos-367977/

pero akí te pongo un ejemplo de cómo podría ser lo que quieres

usaremos XML para cargar los datos
y attachMovie para agregar los botones

lo primero es saber cómo estarán dispuestos los datos en nuestro XML
Código HTML:
<?xml version="1.0" encoding="UTF-8"?>
<menu>
	<categoria id="inicio.html" titulo="Inicio" />
	<categoria id="nosotros.html" titulo="Nosotros" />
	<categoria id="servicios.php" titulo="Servicios" />
	<categoria id="galeria.asp" titulo="Galería" />
	<categoria id="portafolio.phtml" titulo="Portafolio" />
	<categoria id="contacto.htm" titulo="Contacto" />
</menu> 
esta es la cadena que debemos generar con php, claro con los datos de la DB

ahora bien... este sería el código para generar esa cadena
Código PHP:
<?php
//conexion a la DB 
$SQL "SELECT * FROM categorias WHERE idioma_categoria=$idioma ORDER BY id_categoria DESC LIMIT 0,5"
$RESULTADO mysql_query($SQL); 
//aquí comenzamos con la cabecera del XML 
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n"
echo 
"<menu>\n"
//aquí exploramos cada registro y lo imprimimos dándole las etiquetas y atributos que requiere nuestro XML 
while($CATEGORIA mysql_fetch_array($RESULTADO)){ 
    
//debe tener este formato: <categoria id="" titulo="" /> 
    
echo "\n\t".'<categoria id="'.$CATEGORIA['id_categoria'].'" titulo="'.$CATEGORIA['titulo_categoria'].'" />'

//finalmente terminamos nuestro XML 
echo "\n</menu>"
?>
espero no haberme equivocado xD

guarda este archivo con nombre menu_datos.php y pruébalo
debe generarte un código XML como el de la muestra anterior (ver código fuete)

si es así, ya podemos pasar a la parte flash
sino, tendrás que ver que es lo que falla, y conseguir que se genere una cadena como esa :P

en flash:
lo único que necesitaremos sera un MovieClip (nombre de vinculacion: boton) con un campo de texto dinámico dentro de él (nombre de instanci: info), cómo? Así:
- crea un campo de texto dinámico y desde el panel de propiedades ponle nombre de instancia 'info'
- selecciona ese campo de texto y conviértelo en MovieClip (F8) y ponle cualquier nombre...
- abre la biblioteca (CTRL+L) y verás allí el MovieClip creado, dale click derecho sobre ese elemento en la biblioteca y luego en la opción Vinculación... activa la opcion Exportar para ActionScript y en el cuado Identificador pones boton
uff... creo que muy detallado xD

El escenario debe estar vacío, borra todo (ya que agregaremos los botones sacando una dúplica del que tenemos en biblioteca)

ahora en el primer fotograma de _root pones este código
Código PHP:
/*CODIGO ACTION SCRIPT*/
//creamos nuestro objeto XML y definimos las acciones para cuando se invoque la carga de datos
var menu_xml:XML = new XML();
menu_xml.ignoreWhite true;
menu_xml.onLoad = function(ok){
    if(
okcrear_botones(this.firstChild.childNodes);
    else 
trace('no se pudo cargar los datos');
}
//hará el trabajo de agregar los botones y asignarle acciones
crear_botones = function(lista:Array){
    for(
n=0;n<lista.length;n++){
        var 
boton_ref:MovieClip this.attachMovie('boton','b'+n,this.getNextHighestDepth(),{_x:20,_y:n*22+20});
        
boton_ref.info.text lista[n].attributes.titulo;
        
boton_ref.id lista[n].attributes.id;
        
boton_ref.onRelease = function(){ getURL('http://nombre.dominio/'+this.id);}
    }
}
//cargamos los datos
menu_xml.load('datos_menu.xml');
stop(); 
explicar este código no es tan sencillo, pero los resumiré
creamos un objeto xml: menu_xml
invocamos la carga de datos y si se cargan correctamente
ejecutamos la funcion crear_botones

ahora guarda
el archivo .FLA (cualquier nombre)
el archivo .PHP (menu_datos.php)
el archivo .XML (menu_datos.xml)
en la misma carpeta

bien...
si seguiste los pasos solo queda cruzar los dedos y probar si funciona :P
jeje funcionará
si ya comprobaste que menu_datos.php genera el XML mencionado
entonces ya puuedes reemplazar la carga por este archivo
menu_xml.load('datos_menu.php');
y puedes borrar ya menu_datos.xml :P

en esta consulta dejo un par de links sobre el tema
http://www.forosdelweb.com/showthread.php?t=367977
__________________
Si digo que soy mentiroso. ¿Lo soy?