Foros del Web » Creando para Internet » Flash y Actionscript »

DuplicateMovieClip x 2

Estas en el tema de DuplicateMovieClip x 2 en el foro de Flash y Actionscript en Foros del Web. Hola!! Vereis, tengo un movieclip que quiero duplicar varias veces para que me forme una tabla. El caso es curioso porque funciona, pero solo una ...
  #1 (permalink)  
Antiguo 17/07/2009, 11:03
 
Fecha de Ingreso: junio-2009
Mensajes: 15
Antigüedad: 15 años, 4 meses
Puntos: 0
DuplicateMovieClip x 2

Hola!!

Vereis, tengo un movieclip que quiero duplicar varias veces para que me forme una tabla. El caso es curioso porque funciona, pero solo una vez. Es decir, si comento la duplicación de los campos, me muestra los valores y si comento la de los valores me muestra los campos.. pero si no comento nada me salen los valores, unicamente.

Estoy pensando que quizás haya algún tipo de limitación en cuanto a la duplicación de movies. Lo he buscado pero no he encontrado nada.

¿alguien sabe como arreglar el problema?

gracias


Código:
        n=0;
	m=0;

	for (i=0;i<total;i++){
		
		Id[i]= xmlNode.childNodes[i].attributes.ID;
		Valor[i]= xmlNode.childNodes[i].attributes.TO;
		
		//duplico las cajas de los campos
		txt_mc.menu_all.menu_mc.duplicateMovieClip("menu_mc"+n, n);
		txt_mc.menu_all["menu_mc"+n]._y = (txt_mc.menu_all.menu_mc._height+1)*n;
		txt_mc.menu_all["menu_mc"+n].txt_mc.categoryName.text = Id[i];
		
               //duplico las cajas de los valores
		txt_mc.menu_all.menu_mc.duplicateMovieClip("menu_mc"+m, m);
		txt_mc.menu_all["menu_mc"+m]._x = (txt_mc.menu_all.menu_mc._width+1);
		txt_mc.menu_all["menu_mc"+m]._y = (txt_mc.menu_all.menu_mc._height+1)*m;
		txt_mc.menu_all["menu_mc"+m].txt_mc.categoryName.text = Valor[i];
		
		n = n+1;
		m = m+1;
		trace(Valor[i]);
	}
  #2 (permalink)  
Antiguo 18/07/2009, 09:53
 
Fecha de Ingreso: junio-2009
Mensajes: 15
Antigüedad: 15 años, 4 meses
Puntos: 0
Exclamación Respuesta: DuplicateMovieClip x 2

Hola! Bueno ya encontré la solución a mi problema. Eran dos cosas:

- La primera que estaba duplicando los movieclips con el mismo nombre (menu_mc)

- Y la segunda que le estaba dando la misma profundidad a esos movieclips, por lo que dejaban de funcionar.

Ahroa bien, lo he arreglado de la siguiente manera:

Código:
//indice para campos y valores
	n=0;
	// indice de profundidad
	p=0;
	for (i=0;i<total;i++){
		
		Id[i]= xmlNode.childNodes[i].attributes.ID;
		Valor[i]= xmlNode.childNodes[i].attributes.TO;
		txt_mc.menu_all.menu_mc._visible=false;
		//duplico las cajas de los campos
		//trace(p);
		txt_mc.menu_all.menu_mc.duplicateMovieClip("menu_mc"+n, p);
		trace("menu_mc : "+txt_mc.menu_all["menu_mc"+n].getDepth());
		txt_mc.menu_all["menu_mc"+n]._x = txt_mc.menu_all.menu_mc._x;
		txt_mc.menu_all["menu_mc"+n]._y = (txt_mc.menu_all.menu_mc._height+1)*n;
		txt_mc.menu_all["menu_mc"+n].txt_mc.categoryName.text = Id[i];
		// añado un nivel de profundidad
		p=p+1;
		//duplico las cajas de los valores
		//trace(p);
		txt_mc.menu_all.menu_mc.duplicateMovieClip("menu_mc2"+n, p);
		trace("menu_mc2 : "+txt_mc.menu_all["menu_mc2"+n].getDepth());
		txt_mc.menu_all["menu_mc2"+n]._x = (txt_mc.menu_all.menu_mc._width+1);
		txt_mc.menu_all["menu_mc2"+n]._y = (txt_mc.menu_all.menu_mc._height+1)*n;
		txt_mc.menu_all["menu_mc2"+n].txt_mc.categoryName.text = Valor[i];
		
	
		n = n+1;
		p=p+1;
}
Como podeis ver, la segunda vez que duplico el movie clip, le cambio el nombre a menu_mc2 y además he creado una variable p que es la profundidad y que cambia después de aplicase a un movieclip.
El problema está en que me hace una cosa rara.... lo que yo llamo un suceso paranormal de la programacion
Vereis:

El trace(p); me devuelve esto:
Código:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Sin embargo, el trace("menu_mc2 : "+txt_mc.menu_all["menu_mc2"+n].getDepth()); que está justo despues del duplicatemovieclip me devuelve esto:

Código:
menu_mc : 0
menu_mc2 : 1
menu_mc : 2
menu_mc2 : 3
menu_mc : 4
menu_mc2 : 5
menu_mc : 6
menu_mc2 : 7
menu_mc : 8
menu_mc2 : 9
menu_mc : 10
menu_mc2 : 11
menu_mc : 12
menu_mc2 : 13
menu_mc : 14
menu_mc2 : 15
menu_mc : 16
menu_mc2 : 17
menu_mc : 18
menu_mc2 : 19
menu_mc : 20
menu_mc2 : 21
menu_mc : 22
menu_mc2 : 23
menu_mc : 24
menu_mc2 : 25
menu_mc : 26
menu_mc2 : 27
menu_mc : 28
menu_mc2 : 29
menu_mc : 30
menu_mc2 : 31
menu_mc : 32
menu_mc2 : 33
menu_mc : 34
menu_mc2 : 35
menu_mc : 36
menu_mc2 : 37
menu_mc : 38
menu_mc2 : 39
menu_mc : 1
menu_mc2 : 41
menu_mc : 3
menu_mc2 : 43
menu_mc : 5
menu_mc2 : 45
menu_mc : 7
menu_mc2 : 47
menu_mc : 9
menu_mc2 : 49
menu_mc : 11
menu_mc2 : 51
menu_mc : 13
menu_mc2 : 53
menu_mc : 15
menu_mc2 : 55
menu_mc : 17
menu_mc2 : 57
menu_mc : 19
menu_mc2 : 59
menu_mc : 60
menu_mc2 : 61
menu_mc : 62
menu_mc2 : 63
menu_mc : 64
menu_mc2 : 65
menu_mc : 66
menu_mc2 : 67
menu_mc : 68
menu_mc2 : 69
menu_mc : 70
menu_mc2 : 71
menu_mc : 72
menu_mc2 : 73
menu_mc : 74
menu_mc2 : 75
menu_mc : 76
menu_mc2 : 77
menu_mc : 78
menu_mc2 : 79
Como vereis, me lo hace bien del 1 al 40.. del 41 al 59 se vuelve loco y vuelve a aplicar los números del 1 al 20 y luego, vuelve a funcionar bien... y yo me pregunto... PORQUEEEEE

¿acaso tiene sentido? si estuviera mal el código estaría mal TODO... no solo una parte...no? es un suceso paranormal!!! pero yo necesito que funcione
NO tiene sentido que durante 20 números me lo haga mal y luego siga tan pancho...

alguien sabe porque pasa esto??? como lo puedo solucionar??? si alomejor en vez de hacerlo así lo hiciera de otra manera que se os pueda ocurrir!!
en fin cualquier cosa!!!!
que alguien me conteste algoo
  #3 (permalink)  
Antiguo 20/07/2009, 06:00
 
Fecha de Ingreso: junio-2009
Mensajes: 15
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: DuplicateMovieClip x 2

la verdad es que estoy bastante decepcionada con esta página... ya veo que aquí solo se atienden demandas menores

gracias por todo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:32.