Comunidad de diseño web y desarrollo en internet online

Sistema de acomodamientos de elementos de XML

Citar            
MensajeEscrito el 28 Ago 2007 12:39 am
Que hay, pues estoy en esto he generado varios clip duplicados de acuerdo a la catidad de objetos en un XML. Ejemplo: :

Código :

<home>
<hab nom="a" num="2">Juan<hab/>
<hab nom="b" num="3">Pedro<hab/>
<hab nom="c" num="1">Chano<hab/>
</home>


Y tengo los clips duplicados en cierto orden por un AS con algo como :

Código :

posx = 10;
for (var i = 0; i<mixml.length; i++) {
      duplicateMovieClip("clip", "clip"+i, i);
      posy += 15;
      this["clip"+i]._y = posy;
      this["clip"+i]._x = posx;
}


Ya teniendo esto me daria un acomodo en vertical en orden :
Juan
Pedro
Chano
Pero ahora si quisiera ese mismo acomodo de uno sobre otro a la misma distancia pero en base a su atributo "num" osea que queden:
Chano
Pedro
Juan
Osea que busque el valor numeral mas alto y cambi la posicion en _y para que quede conforme al script de acomodo osea Chano luego 15px de espacio etc... Segun el script
Pero tabien en orden alfabetico tambien ordenados en _y de la siguiente manera :
Chano
Juan
Pedro
Bueno si me entendieron es suficiente pero si no aqui les dejo un site donde hacen algo parecido en el menu sort by :
Aqui esta el link : http://www.intentionallies.co.jp/content_normal.html

Por dan12

155 de clabLevel



Genero:Masculino  

México

firefox
Citar            
MensajeEscrito el 28 Ago 2007 03:26 pm
guarda los registros en una matriz de registros

Código :

miArreglo = new Array();
miReg = {nom="",num="", dato=""}; // defines el registro


// luego para cada registro leido, lo pasas al formato de registro:
miReg.nom = ... aqui pones el codigo para guardar el dato nom del XML leido
miReg.num = ... aqui pones el codigo para guardar el dato num del XML leido
miReg.dato = ... aqui pones el codigo para guardar el dato del XML leido
//luego guardas el registro en el arreglo
miArreglo.push(miReg)

// cuando terminas de cargar todos los registros 
// supongo que tienes unos botones para ordenar los datos de diferentes maneras
// entonces para cada boton, por ejemplo el que ordena por num colocas el siguiente codigo
miArreglo.sortOn("num"); // aqui se ordena el arreglo segun el campo num de cada registro
// luego tienes que hacer un barrido de cada registro en el arreglo para posicionarlo de acuerdo a la posición en el arreglo.

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 28 Ago 2007 04:49 pm
Gracias lo entiendo todo menos lo del barrido

Por dan12

155 de clabLevel



Genero:Masculino  

México

firefox
Citar            
MensajeEscrito el 29 Ago 2007 12:22 pm
"Barrido" se refiere a un "for" para todos los elementos:

Código :

posx = 10;
for (i=0; i < miArreglo.length; i++) {
   myBtn = duplicateMovieClip("clip", "clip"+i, i);
   posy += 15;
   myBtn._y = posy;
   myBtn._x = posx;
   // luego cargas los atributos del boton, con los datos del arreglo
   // por ejemplo, si en tu boton tienes un campo de texto donde muestras el nombre:
   myBtn.campoNombre.text = miArreglo[i].dato;
}

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7

 

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