Comunidad de diseño web y desarrollo en internet online

Multiplicar clip de pelicula

Citar            
MensajeEscrito el 29 Nov 2005 05:58 pm
Saludos,
sigo avanzando en un proyectito gracias a la colaboración de muchos de vosotros y a la información que encuentro en este foro.
Pero ahora mismo estoy atascado y no encuentro la solución .... me explico:

Mediante AS recorro los nodos de un xml que capturo previamente. Hasta aquí bien, ya que he conseguido llegar a los valores de ese xml...

Código :

var xmlVal:XML = new XML();
xmlVal.load("xmlCoches.xml");
xmlVal.ignoreWhite = true;
xmlVal.onLoad = function(bSuccess:Boolean) {
   if (bSuccess) {
      var xnCoches:XMLNode = xmlVal.firstChild; 
      var aCoches:Array = xnCoches.childNodes;
      var xnCoche:XMLNode = xnCoches.firstChild;         
      for (var i = 0; i<aCoches.length; i++) {
            var xnMarca:XMLNode = xnCoche.firstChild;
            trace(xnMarca.firstChild.nodeValue);
            var xnModelo:XMLNode = xnMarca.nextSibling;
            trace(xnModelo.firstChild.nodeValue);
            var xnAnno:XMLNode = xnModelo.nextSibling;
            trace(xnAnno.firstChild.nodeValue);

         var xnCoche:XMLNode = xnCoche.nextSibling;      
      }
   } else {
      trace("Error en la lectura del xml");
   }
};

El xml es el siguiente:

Código :

<?xml version=1.0"?>
<cars>
   <car>
      <make>Honda</make>
      <model>Accord</model>
      <year>1985</year>
   </car>
   <car>
      <make>BMW</make>
      <model>Serie5</model>
      <year>2004</year>
   </car>
</cars>


Tengo un mc en flash que tiene 3 campos de texto dinámico, los cuales, rellenaré con los valores de los nodos de xml.

Si tuviera sólo un nodo "<car>", haría una asignación directa; pero como no sé cuántos <car> vienen, tengo que hacer una creación (o multiplicación) dinámica de tantos mcs ("Vehiculo" lo llamo en flash) como nodos <car> traiga el xml.

Pido una ayudita, o al menos sobre qué puedo seguir buscando información.

El mc Vehiculo lo tengo en la biblioteca de flash, en el mismo archivo; y cómo dije anteriormente, necesito crear tantos "Vehiculo" como nodos <car> tenga el xml, y además, más o menos distribuidos por el escenario.

Gracias de antemano.

Por AguaRas

93 de clabLevel



 

msie
Citar            
MensajeEscrito el 29 Nov 2005 07:05 pm
Si no me equivoco, basta con copiar y pegar:

Código :

nCoches = xmlVal.firstChild.childNodes.length;
for (i=0; i<nCohes; i++) {
   dpth = _root.getNextHighestDepth();
   attachMovie("Vehiculo", "coche"+dpth, dpth);
   subj = this["coche"+dpth];
   subj._x = i*50;
   subj._y = 100;
   //o los valores que quieras
}

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 29 Nov 2005 07:16 pm
Sigue sin rular, ... por cierto en el contador de i, dentro del bucle, pone nCohes, en lugar de nCoches, y me dejó colgado el pc en un bucle infinito ....


Gracias de todos modos...

¿por qué no funcionará?

Por AguaRas

93 de clabLevel



 

msie
Citar            
MensajeEscrito el 29 Nov 2005 07:34 pm
jeje cambia "nCohes" por nCoches.
Lo siento.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 29 Nov 2005 09:25 pm
Ya lo cambié, pero sigue sin funcionar ....

¿Por?

Por AguaRas

93 de clabLevel



 

msie
Citar            
MensajeEscrito el 29 Nov 2005 09:51 pm
Odio estas cosas. A ver... ¿está dentro del evento onLoad?¿le as dado un nombre de vinculación? Haz un trace de nCoches ... y ya no se me ocurre nada más :?

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 29 Nov 2005 09:58 pm
Gracias zah, el problema es que me he dejado los archivos en el curro. Ahora sólo puedo buscar ayuda por el foro, mañana por la mañana seguiré haciendo pruebas ...

Si no te importa, sigue el "hilo".

Muchas gracias

Por AguaRas

93 de clabLevel



 

msie
Citar            
MensajeEscrito el 30 Nov 2005 01:00 pm
Buenas ...
ya he solucionado el tema de duplicar el clip de lal biblioteca ...
por si sirve a alguien:

Código :

var xmlVal:XML = new XML();
xmlVal.load("xmlCoches.xml");
xmlVal.ignoreWhite = true;
xmlVal.onLoad = function(bSuccess:Boolean) {
   if (bSuccess) {
      var xnCoches:XMLNode = xmlVal.firstChild;
      //trace(xnCoches.toString());
      var aCoches:Array = xnCoches.childNodes;
      //trace(aCoches.length);
      var xnCoche:XMLNode = xnCoches.firstChild;   //Capturo el primer coche con el que operar
      for (var i = 0; i<aCoches.length; i++) {
         //Creamos los objetos según los nodos de coches
         var VehiculoMC:MovieClip = _root.attachMovie("Vehiculo", "Vehiculo"+i, i);
         VehiculoMC._x = 0;
         VehiculoMC._y = i * 100;
         
         var xnMarca:XMLNode = xnCoche.firstChild;
         trace(xnMarca.firstChild.nodeValue);

         VehiculoMC.Marca_txt.text = xnMarca.firstChild.nodeValue.toString();

         var xnModelo:XMLNode = xnMarca.nextSibling;
         trace(xnModelo.firstChild.nodeValue);
         var xnAnno:XMLNode = xnModelo.nextSibling;
         trace(xnAnno.firstChild.nodeValue);
         var xnCoche:XMLNode = xnCoche.nextSibling;   //Cambio al siguiente nodo
      }
   } else {
      trace("Error en la lectura del xml");
   }
};
Lo coloco en el escenario y lo desplazo hacia abajo.

Pero tengo 1 duda:
1.) ¿Cómo podría calcular el "tamaño" del mc que haya situado para así saber qué distancia tengo que desplazar el siguiente?


Gracias

Por AguaRas

93 de clabLevel



 

msie
Citar            
MensajeEscrito el 02 Dic 2005 04:35 pm
sencillo, pero varía según la posición de con respecto al centro en la que esté tu película. Lo más cómodo para hacer eso es que ajustes el coche en la parte inferior derecha de la crucecita del mc (panel de alineación). A partir de allí solo usa las propiedades _width y heigth según lo que quieras hacer. En tu ehemplo sería

Código :

VehiculoMC._y=i*VehculoMC._height

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 03 Dic 2005 09:50 am
Muchas gracias zah.

Por AguaRas

93 de clabLevel



 

msie

 

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