ActionScript - Crear menu a partir de xml

 
Vista:

Crear menu a partir de xml

Publicado por Diego (2 intervenciones) el 11/08/2006 09:12:01
Hola a todos,

Estoy intentando cargar un menú a partir de un fichero xml, es decir, crear un boton por cada campo del xml y la verdad estoy perdido de todo.

Nunca habia hecho nada de actionscript y la verdad me lia bastante el saber donde poner cada codigo....

Gracias por adelantado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cargar menú desde un archivo XML

Publicado por Alejandro (369 intervenciones) el 22/06/2023 19:46:23
Si estás intentando cargar un menú a partir de un archivo XML en ActionScript, aquí tienes un ejemplo básico de cómo hacerlo:

1. Crea un archivo XML con la estructura de datos para tu menú. Por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
<menu>
  <item>
    <nombre>Botón 1</nombre>
    <enlace>enlace1.html</enlace>
  </item>
  <item>
    <nombre>Botón 2</nombre>
    <enlace>enlace2.html</enlace>
  </item>
  <!-- Agrega más elementos de menú según tus necesidades -->
</menu>

2. En tu archivo de ActionScript, carga y analiza el archivo XML y crea los botones del menú:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.TextField;
 
var menuXML:XML; // Variable para almacenar el contenido del archivo XML
 
// Cargar y analizar el archivo XML
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onXMLLoaded);
loader.load(new URLRequest("ruta_a_tu_archivo_xml.xml"));
 
function onXMLLoaded(event:Event):void {
  menuXML = new XML(event.target.data);
 
  // Crear los botones del menú a partir de los datos del XML
  for each (var item:XML in menuXML.item) {
    var boton:SimpleButton = new SimpleButton();
    var nombre:TextField = new TextField();
 
    nombre.text = item.nombre;
    boton.upState = nombre;
    boton.addEventListener(MouseEvent.CLICK, onBotonClick);
 
    // Posicionar y ajustar los botones según tus necesidades
    boton.x = 100;
    boton.y = 100;
 
    addChild(boton);
  }
}
 
function onBotonClick(event:MouseEvent):void {
  var boton:SimpleButton = event.target as SimpleButton;
  var nombre:TextField = boton.upState as TextField;
  var enlace:String = menuXML.item.(@nombre == nombre.text).enlace;
 
  // Realiza las acciones deseadas al hacer clic en un botón del menú
  trace("Botón '" + nombre.text + "' fue clicado. Enlace: " + enlace);
  // Aquí puedes agregar código para abrir el enlace en una nueva ventana o realizar otras acciones
}

Asegúrate de reemplazar "ruta_a_tu_archivo_xml.xml" con la ruta correcta hacia tu archivo XML.

En este ejemplo, se crea un botón por cada elemento del menú en el archivo XML. Cada botón muestra el nombre del elemento como texto. Al hacer clic en un botón, se captura el enlace correspondiente desde el XML.

Puedes personalizar el diseño y la interacción de los botones según tus necesidades. Ajusta las posiciones, estilos y acciones de clic de los botones según lo requiera tu menú.

Espero que esta solución te ayude a cargar el menú desde un archivo XML. ¡Buena suerte con tu proyecto!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar