Comunidad de diseño web y desarrollo en internet online

mm..problema con xml o array..depende :D

Citar            
MensajeEscrito el 22 Sep 2008 10:04 am
Creí que habías aprendido después de tantos posts para que se utilizaba un ciclo, en el código que posteas tienes un ciclo con la cantidad de productos que tiene el arreglo y dentro de este ciclo sitúas el acordeón en la escena, le das estilos al mismo, mandas a crear todas las opciones una a una y le asignas las acciones una a una también, revisa los anteriores post y mira bien para que se utiliza un ciclo y después replantea el código.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 22 Sep 2008 04:59 pm
se para que se utiliza un ciclo solo que no sabia como plantearme...
bueno voy a intentasr una vez mas y te digo

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 22 Sep 2008 06:06 pm
OK lo estoy empezando a hacer de a poquito
empeze con esto....que es lo que esta en el accordion pero me crea dos en las cordinadas indicadas y los mismos dos en las coordenadas 0,0 amontonados

Código ActionScript :

for(n=1;n<4;n++){
miAcordeon.createChild("View", "opcion"+n, {label:"MARCA "+n});
for(j=1;j<3;j++){
miAcordeon["opcion1"].createChild("modelo"+j, "modelo"+j+"_mc");
miAcordeon.opcion1["modelo1_mc"]._x=50;
miAcordeon.opcion1["modelo1_mc"]._y=10;
miAcordeon.opcion1["modelo2_mc"]._x=50;
miAcordeon.opcion1["modelo2_mc"]._y=40;

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 22 Sep 2008 06:54 pm
Veo que no te acostumbras a que dentro del ciclo no se pone ninguna referencia a 1 o 2, todo debe ser variables, de lo contrario lo que harás será hacer el código completo dentro del ciclo y para hacer esto, eliminas completo el mismo.

Suponiendo que tienes un MovieClip en la biblioteca linkeado como "opcion_child"

Código ActionScript :

for (var i:Number = 1; i < 4; i++) {
   
   var mother:Object = miAcordeon.createChild("View", "opcion" + i, {label:"MARCA " + i});
   
   var posY:Number = 0;
   
   for(var j:Number = 1; j < 3; j++){
      
      var child:Object = mother.createChild("opcion_child", "opcion" + i + "_" + j, {_x:10, _y:posY});
      
      posY += 40;
      
   }
   
}

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 22 Sep 2008 07:26 pm
con opcion_child te referis a lo que en mi caso seria modelo no?
igual me llama los botones modelo y me los deja en 0,0

Código ActionScript :

for (var n:Number = 1; n < 4; n++) { 
var mother:Object = miAcordeon.createChild("View", "opcion" + n, {label:"MARCA " + n}); 
var posicionY:Number = 0; 
 for(var j:Number = 1; j < 3; j++){ 
var child:Object = mother.createChild("modelo"+(i+1), "opcion" + n + "_" + j, {_x:10, _y:posY}); 
       
      posY += 40; 
       
   }
}

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 22 Sep 2008 07:54 pm
perdona si soy medio idiota xD

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 22 Sep 2008 08:17 pm
Si , si tienes muchos movieClips en la bilbioteca como "modelo1", "modelo2", "modelo3" etc, entonces "opcion_child" equivale a estos movies, ahora la variable que tienes que sumarle es "j" no "i" y no debes sumarle 1 a no ser que empiecen desde "modelo2".

La posición la da el objeto:

Código ActionScript :

{_x:10, _y:posY}

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 22 Sep 2008 09:33 pm
hola
si sabia que la posicion la daba eso pero por alguna razon...los botones aparecen en 0,0

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 22 Sep 2008 10:31 pm
bueno por ahora esta asi
copio y pego desde el segundo for

Código ActionScript :

for (var n:Number = 1; n < 4; n++) {  
var mother:Object = miAcordeon.createChild("View", "opcion" + n, {label:"MARCA " + n});  
var posicionY:Number = 0;  
 for(var j:Number = 1; j < 3; j++){  
 
var child:Object = mother.createChild("modelo", "opcion" + j, {_x:60, _y:posY});  
        
      posY += 40;  
        
   } 
} 
} 


en cada pestaña del accordion al hacer ctrl+clic se ve solo un boton...pero puede ser que sean varios una arriba de otro
el problema debe venir de {_x:60, _y:posY}


edito:acabo de entender(tengo toda una velocidad para entender las cosas..jeje)...el codigo llama 3 veces a modelo(ahora tengo uno solo en la biblioteca porque me di cuenta que era intuil lo otro)..yo pensaba que llamaba 3 veces por cada pestaña del accordion osea 9 veces
pero no es asi...right?

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 22 Sep 2008 11:02 pm
En realidad llama dos veces por cada pestaña, al haber tres pestañas, llama 6 veces.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 23 Sep 2008 07:46 pm
:cry: :cry: :cry:

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

chrome
Citar            
MensajeEscrito el 23 Sep 2008 09:15 pm
i need help over here :D

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 23 Sep 2008 09:38 pm
Que te sucede, no lo has logrado todavia?

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 23 Sep 2008 10:02 pm
no :S
lo unico que se ve es un boton por pestaña :(

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

chrome
Citar            
MensajeEscrito el 23 Sep 2008 10:53 pm
Bueno, yo en un flash en blanco, pego este código en mi primer frame con un componente acordeón en la escena con nombre de instancia "miAcordeon" y en la biblioteca un MovieClip linkeado como "opcion_child" y me funciona, me pone dos botones por cada item del acordeón, pruébalo tú para que veas, si no te sale en tu flash actual debes tener variables duplicadas o mala ubicación de los códigos:

Código ActionScript :

for (var i:Number = 1; i < 4; i++) { 
    
   var mother:Object = miAcordeon.createChild("View", "opcion" + i, {label:"MARCA " + i}); 
    
   var posY:Number = 0; 
    
   for(var j:Number = 1; j < 3; j++){ 
       
      var child:Object = mother.createChild("opcion_child", "opcion" + i + "_" + j, {_x:10, _y:posY}); 
       
      posY += 40; 
       
   } 
    
} 

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 24 Sep 2008 12:16 am
copio y pego tal cual el codigo ...agrego el acordeon al escenario..en vez de atacharlo......hago todo bien...y me sigue apareciendo un solo boton por cada pestañita del accordeon :S
flash tiene serios problemas personales con migo ultimamente

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 24 Sep 2008 12:23 am
esto es un chiste :(

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 24 Sep 2008 12:27 am
lo logreeee
haciendo esto

Código ActionScript :

for (var i:Number = 1; i < 4; i++) {  
     
   var mother:Object = miAcordeon.createChild("View", "opcion" + i, {label:"MARCA " + i});  
     
   var posY:Number = 0;  
     
   for(var j:Number = 1; j < 3; j++){  
        
      var child:Object = mother.createChild("opcion_child", "opcion" + i + "_" + j);  
        mother["opcion" + i + "_" + j]._x=10;
      mother["opcion" + i + "_" + j]._y=posY;
      posY += 40;  
        
   }  
     
}  

no tengo idea de porque no me tomaba lo que me pasaste....
bueno ahor a seguir
cualquier cosa posteo

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 24 Sep 2008 01:41 am
segundo problema.
esperemos que se resuelva mas facil(sguro que si)
justo despues de lo anterior intente esto..para empezar a attachar los botones de agregar .....y funciona
pero le puse un trace y no me devuelve lo que esperaba
nota: i esta en el primer for...donde i es menos a valores.length...osea el array donde estaban los articulos

Código ActionScript :

mother["modelo" + n + "_" + j].onRelease=function(){
         _root.attachMovie("agregar","agregar"+i , this.getNextHighestDepth());
         _root["agregar","agregar"+i]._x=600;
         _root["agregar","agregar"+i]._y=400;
         trace("agregar"+i);
      }

el atrace me devuelve siempre

Código ActionScript :

agregar6

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 24 Sep 2008 01:44 am
que encima es incoerente porque el i empieza de 0 y tendria que terminar en 5

Código ActionScript :

var valores:Array = new Array("articulo1", "articulo2", "articulo3",
                       "articulo4", "articulo5", "articulo6");
for(var i:Number = 0; i < valores.length; i++){

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 24 Sep 2008 09:47 am
No se que versión de flash tienes, pero la forma en que resolviste las coordenadas es lo mismo que pasárselas como un objeto, y como ya te digo, lo probé antes de postearlo.

Ahora la segunda duda, "i" va de 0 a 6 pero en fracciones de segundos, en el momento en que presionas el botón ya el ciclo terminó e "i" tendrá valor 6 porque fue el último valor que tuvo en el ciclo. Es por eso que en post anteriores guardábamos el valor de "i" en una variable "numero" dentro del botón y después accediamos a ella como "this.numero"

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 24 Sep 2008 02:33 pm
holas....si ...eso ya lo habia intentado..lo que deje posteado fue el ultimo intento...el problema que tenia con eso que comentas...es que toma los valores 1 o 2 porque el botoncito dice modelo2_1 por ejemplo y yo necesitaba que se creen 0,1,2,3,4,5 botones de agregar con es numero atras..no se si me entendiste

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 24 Sep 2008 02:34 pm
a uso el flash 8

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 24 Sep 2008 03:42 pm
me entendes lo que digo? osea los botones se llaman modelo1_1 modelo1_2 modelo2_1 modelo2_2 modelo3_1 modelo3_2
y los de agregar se tienen que llamar segun el valor del array 'valores' ..por eso si uso this.numero me toma 1,2,1,2,1,2

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 24 Sep 2008 03:43 pm
En ese caso crea una variable fuera del ciclo y que se vaya incrementando dentro de este y la vas guardando dentro de los botones.

Bueno yo uso CS3, el lenguaje es el mismo AS2, no se por qué no te funcionan las propiedades enviadas como objeto.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 24 Sep 2008 04:04 pm
funciono eso :) te pongo como lo hice y despues sigo xD

Código ActionScript :

//al principio antes del for
var h:Number=0;
//despues abajo de child
mother["modelo" + n + "_" + j].onRelease=function(){
         _root.attachMovie("agregar","agregar"+(h-1), this.getNextHighestDepth());
         _root.h++
         _root["agregar"+(h-1)]._x=800;
         _root["agregar"+(h-1)]._y=400;
         trace(["agregar"+(h-1)]);
      }

lo unico que pasa ahora es que no me toma las coordenadas..osea me lo crea en 0,0 pero ahora veo como hago eso
desues posteo...gracias por tu paciencia

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 24 Sep 2008 04:14 pm
Lo que me refería es que guardaras "h" dentro de los botones cuando los vayas creando y después accedas a esa variable con this.numero cuando presiones dichos botones.

Código ActionScript :

mother["modelo" + n + "_" + j].numero = h;

mother["modelo" + n + "_" + j].onRelease = function():Void{

         _root.attachMovie("agregar","agregar"+ this.numero, _root.getNextHighestDepth(), {_x:800, _y:400});

}

h++;


Recuerda que no debes usar this si estás creando los botones en la raiz
Solo no entiendo por qué creas los botones en posiciones fijas (800 x 400)

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 24 Sep 2008 04:26 pm
con lo ultimo me crea botones de agregar igual a como deje pèro me pone agregar30 agregar31 supongo porque toma antes el valor j...por ahora lo deje como estaba antes:S

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 24 Sep 2008 04:52 pm
ui siempre que pongo enviar me olvido que me faltaba decir algo..
los alores intente cambiarlos como los usas vos...osea en el mismo lugar donde se attacha el boton pero no funciona no tengo idea de porque
fue copy y pegy para quitar dudas y tampoco

edito:con valores me refiero al x e y del boton xD

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 24 Sep 2008 05:04 pm
Ioneric no lo dejes como lo tenías antes, el valor de la variable "h" debe ser fija para cada botón no debe cambiar cuando se presionan, hazme caso, si te sucede eso es porque ya estás utilizando la variable número, utiliza otra variable:

Código ActionScript :

mother["modelo" + n + "_" + j].loquequieras = h;
h++;

mother["modelo" + n + "_" + j].onRelease = function():Void{ 
 
         _root.attachMovie("agregar","agregar"+ this.loquequieras, _root.getNextHighestDepth(), {_x:800, _y:400}); 
 
} 


Un consejo, si lo que haces es copiar y pegar a lo loco, sin tratar de analizar el código y experimentar un poco, estaremos todo el tiempo posteando, este hilo llegará a miles de mensajes y no habrás terminado todavía el trabajo, los problemas que tienes, son los mismos, con los mismos, no has adelantado y sigues cometiendo los mismos errores que en un inicio.

Ahora debo decirte que tienes un problema serio con tu flash, si no te funciona tampoco un attachMovie con parámetros, estás frito, ve a la ayuda a la clase MovieClip.attachMovie y observa si es de esta forma:

Código ActionScript :

public attachMovie(id:String, name:String, depth:Number, [initObject:Object]) : MovieClip


Si es de esta misma forma, es decir, que tu flash no funciona con otro lenguaje, entonces desinstala y vuelve a instalar que no están funcionándote las cosas correctamente, chequea también que estés trabajando con flash player 8 y AS2.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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