Comunidad de diseño web y desarrollo en internet online

Controlar un Link con XML en Flash

Citar            
MensajeEscrito el 16 Oct 2006 02:34 pm
Hola Amigos!. Soy nuevo en este espacio...y aquí va mi primera consulta.
^^

Necesito hacer un flash con 5 links y poder modificar sus rutas por medio de un XML, sin tener que intervenir el swf...Algún tuto, Link o código?¿?....



eso, see u y grax!!!

Por desglaciar

5 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 16 Oct 2006 02:57 pm
link.
Hay motones de trozos de código sobre eso en el foro:
http://www.cristalab.com/foros/viewtopic.php?t=27912&highlight=xml
http://www.cristalab.com/foros/viewtopic.php?t=27194&highlight=xml

Saludos.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 16 Oct 2006 03:17 pm
Hola.
Pues puedes cargar los datos y concatenarlos para formar una url.
Ahi activas el texto html en un cuadro de texto....
Y pones el resultado de la concatenación.

Saludos!

Por Lunatic Lycanthrop

Claber

1203 de clabLevel

7 tutoriales

1 ejemplo

Genero:Masculino  

The dark places where wolves access internet with 46,6 kbps

firefox
Citar            
MensajeEscrito el 16 Oct 2006 09:02 pm
Gracias...pero....use este codigo xml

Código :

<botones>
<item name="ratones" link="http://www.anonimouse.cl"/>
<item name="bt2" link="http://www.cristalab.com" />
<item name="bt3" link="http://www.google.es" />
</botones>


y action....

Código :

var myMenu:XML = new XML();
myMenu.ignoreWhite = true;
myMenu.load("mydata.xml");
myMenu.onLoad = function() {
   trace(myMenu);
   for (var i = 0; i<this.firstChild.childNodes.length; i++) {
      btn = _root.attachMovie("boton", "boton"+i, _root.getNextHighestDepth());
      btn._x = 0;
      btn._y = 0+(btn._height*i);
      btn.txt.text = this.firstChild.childNodes[i].attributes.name;
      btn.link = this.firstChild.childNodes[i].attributes.name;
      btn.onRelease = function() {
         getURL(this.link);
      };
   }
};


se supone que en el XML defines el nombre del boton (name=) y su ruta (link=)...pero: no me aparece el nombre (en el boton) como deberia y al dar Clik al boton, me lanza no la ruta, sino, el nombre del boton.

se entiende?? :shock:

Por desglaciar

5 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 16 Oct 2006 09:14 pm
Revisa un poco más el código. Las variables del txt y del link son iguales. En teoría todo debería funcionar si cambias:
btn.link = this.firstChild.childNodes[i].attributes.link;

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 16 Oct 2006 09:30 pm
amigo zah, muchas gracias, perfecto....raro si, fue lo primero que cambie y me tiro arror....pero aun me falto algo,,,no me aparece el nombre del brn...

Por desglaciar

5 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 17 Oct 2006 05:57 pm
ya, lo logre...se los muestro.

-- XML --

Código :

<botones>
<item name="Mis Asignaturas en Linea" link="http://www.anonimouse.cl"/>
<item name="Boletin Notas Parciales" link="http://www.sii.com" />
</botones>


-- ACTIONSCRIP --

Código :

var myMenu:XML = new XML();
myMenu.ignoreWhite = true;
myMenu.load("mydata.xml");
linkBoton = new Array();
textoBoton = new Array();
myMenu.onLoad = function() {
   for (var i = 0; i<this.firstChild.childNodes.length; i++) {
      textoBoton[i] = this.firstChild.childNodes[i].attributes.name;
      linkBoton[i] = this.firstChild.childNodes[i].attributes.link;
   }
   creaBtns(this.firstChild.childNodes.length);
};
function creaBtns(cuantosBotones) {
   var separacion = 0;
   $Yini = 85.7;
   for (var i = 0; i<cuantosBotones; i++) {
      this.attachMovie("boton", "boton"+i, this.getNextHighestDepth());
      _root["boton"+i].link = linkBoton[i];
      _root["boton"+i].mytexto.text = textoBoton[i];
      _root["boton"+i]._x = 398.9;
      _root["boton"+i]._y = $Yini+i*separacion+_root["boton"+i]._height*i;
      _root["boton"+i].onRelease = function() {
         getURL(this.link, "blank");
      };
   }
}


En la librería tengo un movieClip de nombre boton,
// cuya propiedad de linkage es el mismo nombre, y exportado en el
// primer frame, y dentro de este movieClip hay un texto dinámico
// de nombre mytexto, que tiene embebido todos los carácteres.
// para finalizar, a veces uno crea estos botones en peliculas que
// carga al interior de otros MovieClips,
// en esos casos y para no crear conflictos, con _root.
// se puede usar una variable temporal
// y el código en la línea quedaría mas o menos así:
// btn=eval("boton"+i);
// btn.link = linkBoton[i];
// btn.mytexto.text = textoBoton[i];
// btn._x = 100;
// etc.....

autor: Rubén Quintana. ..gracias Rubén.

Por desglaciar

5 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 25 Nov 2006 04:08 am
una Pregunta, esta solución tiene alguna limitación con alguna versión de player? lo digo porque implementé la alternativa de cargar un swf dentro de otro, y aparecen los botones pero no me salta al link....

Por AxioUK

8 de clabLevel



Genero:Masculino  

Chile

firefox
Citar            
MensajeEscrito el 25 Nov 2006 09:50 am
Debería funcionar con FP 7 y 8.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox

 

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