Comunidad de diseño web y desarrollo en internet online

duplicate MC y xml

Citar            
MensajeEscrito el 09 Abr 2007 10:26 pm
Hola, tengo unos datos en xml que son dinamicos. Cada vez que le agrego un nuevo nodo me duplica el movieclip que contiene las cajas de texto y simplemente va llenando la data correspondiente.
El problema es que algunos nodos tienen mas data de otros y en base a ellos me he visto obligada a colocarle una mascara, pero mi mascara no funciona. Creo que es el efecto mas simple pero no me funciona, es decir, la informacion sigue viendose por toda la pantalla. Ademas no tengo idea de como agregarle un scroll.
Este es mi codigo, a ver si lo entienden y si me ayudan, por fa!!!!

Código :

var global;
var contenido:XML = new XML();
contenido.ignoreWhite = true;
contenido.load("perfil.xml");
contenido.onLoad = function(exito) {
   if (exito) {
      
      cargadata(0);
   }
};


function cargadata(i:Number){

   
   info._y=227;
   if(i <0 )
   {
      _root.info.titular.text="";
        _root.info.descripcion.text="";
        _root.info.periodo.text="";
   }
   else
   {
      
   a=contenido.firstChild.childNodes[i].childNodes;
   b=contenido.firstChild.childNodes[global].childNodes;

   
   for(k=0;k<b.length;k++){
      _root["info"+k].removeMovieClip();
   }
   
   
   for(j=0;j<a.length;j++)
   {
   
   nuevo=_root.info.duplicateMovieClip("info" + j,j);
   nuevo.setMask(_root.mascara);
   titular1 = contenido.firstChild.childNodes[i].childNodes[j].firstChild.firstChild;
   descripcion1 = contenido.firstChild.childNodes[i].childNodes[j].firstChild.nextSibling.firstChild;
   periodo1 = contenido.firstChild.childNodes[i].childNodes[j].firstChild.nextSibling.nextSibling.firstChild;
   
   nuevo.titular.text=titular1;
   nuevo.descripcion.text=descripcion1;
   nuevo.periodo.text=periodo1;

    _root.info._y+=110;
   
   
   }
   
   global=i;

   
   
   }
   
}

Por shn

29 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 17 Abr 2007 07:05 pm
Hola, Bueno con respecto a tu mascara te dejo este pequeño y sencillo tutorial, que espero te sirva de ayuda:

http://www.kirupa.com/developer/actionscript/scriptable_masks.htm

yo tambien estoy trabajando con XML y tambien necesito saber como generar Movieclips dinamicamente según los nodos que se generen en el XML. Mis movieclips van dentro de una mascara y presentan texto desde el XML.

Por Delirio66

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Abr 2007 04:22 am
delirio66 voy a responder a tu duda pues me da tremenda lata leer el post de shc

Código :

for(i=0; tuXML.childNodes[i] != null; i++){
//lo que quieras hacer se hara mientras alla nodos
}

PD. cuando posteen dudas resumanlas, 7 lineas bien pensadas dicen mas que 70 es cosa de usar la cabeza y no los dedos

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 20 Abr 2007 07:53 am
Hola Inyaka, he puesto este código para hacer desaparecer los movieclips vacios de XMLNode's pero no consigo hacerlo:

Código :

total = myXML.firstChild.length;
for (var i = 0; i<=total; i++) {
if (myXML.firstChild.nodeName == null) {
   _level0.masker.scrol1["pic"+i]_visible = false;
   _level0.masker.scrol1["btn"+i]_visible = false;
}
}


que problema detectas o que me falta?

Por Delirio66

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Abr 2007 08:05 am
Te falta el punto

Código :

total = myXML.firstChild.length;
for (var i = 0; i<=total; i++) {
if (myXML.firstChild.nodeName == null) {
   _level0.masker.scrol1["pic"+i]._visible = false;
   _level0.masker.scrol1["btn"+i]._visible = false;
}
}

Por One

Claber

1488 de clabLevel

5 tutoriales

Genero:Masculino  

Programador Web

firefox
Citar            
MensajeEscrito el 20 Abr 2007 08:10 am
he agregado el punto pero parece que el script detiene todo el .swf , además de que le agregue var a la variable total. :crap:

Por Delirio66

5 de clabLevel



 

msie
Citar            
MensajeEscrito el 20 Abr 2007 02:56 pm
tradusco :

Código :

for (var i = 0; i<=total; i++) { } 

para i 0 mientras i sea menor a total sumarle a i 1

osea i cada ves es mayor y se crea un loop (o historia sin fin)
^^

lo correcto seria

Código :

for (var i = 0; i>=total; i++) { } 


ademas en

Código :

if (myXML.firstChild.nodeName == null) {


siempre llamas al mismo nodo ( firstChild ) lo cual es lo mismo que decir childNodes[0]

por tanto te recomiendo

Código :

if (myXML.childNodes[i].nodeName == null) {



saludos y aprende con cada dia mas y mas ^^

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 20 Abr 2007 06:40 pm
Gracias Inyaka ahora ha quedado listo, solo que aún tengo muchas dudas, mi problema es hacer ciclos para varios botones que estan dentro de la mascara con el siguiente código me funciona para un solo boton

Código :

_level0.masker.scrol1.btn1.onRollOver = function(cargarXML){
   _level0.text_load.text = myXML.firstChild.childNodes[0].attributes.name;
};
_level0.masker.scrol1.btn1.onRelease = function(){
   gotoAndPlay("B");
};

y hago que me funciones todo pero escribiendo todo ese código completo, pego y cambio el nombre (btn1,btn2...etc.). :roll:

Por Delirio66

5 de clabLevel



 

msie
Citar            
MensajeEscrito el 20 Abr 2007 07:15 pm

Código :

 eval("_level0.masker.scrol1.btn"+i+").onRelease = function(){ 

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox

 

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