Comunidad de diseño web y desarrollo en internet online

ayuda con attach movi y botón

Citar            
MensajeEscrito el 17 Abr 2012 11:02 am
Hola:
A ver si alguien me puede resolver un conflicto.
Esto que expongo a continuación funciona perfectamente

Tengo 2 moviclips (mc_platina y mc_12) y 1 botón b sobre el escenario.
El moviclip mc_12 tiene 18 fotogramas y efecto forma para que cambie de color. En el primer fotograma hay un stop.
Los 2 moviclips giran simultáneamente 2.5 grados cada vez que se presiona el botón b. Los 18 fotogramas del mc_12 están pensados para que el cambio de color (paso de un frame al siguiente) sea simultáneo con el del giro que tienen que sufrir cuando se acciona el botón b. Después de haber transcurrido esos 18 frames y por lo tanto 18 giros, es decir 45 º (18x2.5º), el cambio de color tiene que ser a la inversa. En total esto sucede 4 veces en un giro de 360º, gracias al código asociado con el botón b:

on (press) {
mc_platina._rotation=mc_platina._rotation-2.5; //gira movi mc_platina

_currentframe = mc_12.nextFrame();
mc_12._rotation=mc_12._rotation-2.5; //* Giramos platina de 0 a 45º y avanza un frame, en total 18 (desde el 1 hasta el 18). En cada uno de ellos se observa un color, en total 18

miTexto.text = -mc_platina._rotation+"º";
if (-mc_platina._rotation < 0){
miTexto.text = -mc_platina._rotation+360+"º";// Escribe los grados girados
}

if (-mc_platina._rotation < 0){
platina = -mc_platina._rotation+360;
}

if (-mc_platina._rotation > 45){
_currentframe = mc_12.prevFrame();
mc_12.prevFrame();
} //* Giramos platina de 45º a 90 y avanza un frame en sentido contrario al anterior (desde el 18 hasta el 1), en total 18. En cada uno de ellos se observa un color, en total 18

if (-mc_platina._rotation > 90){
_currentframe = mc_12.nextFrame();
mc_12.nextFrame();
} //* Giramos platina de 90 a 135º y avanza un frame, en total 18 (desde el 1 hasta el 18). En cada uno de ellos se observa un color, en total 18

if (-mc_platina._rotation > 135){
_currentframe = mc_12.prevFrame();
mc_12.prevFrame();
} //* Giramos platina de 135º a 180º y avanza un frame en sentido contrario al anterior (desde el 18 hasta el 1), en total 18. En cada uno de ellos se observa un color, en total 18

if (-mc_platina._rotation > 180){
_currentframe = mc_12.nextFrame();
mc_12.nextFrame();

} //* Giramos platina de 180 a 225º y avanza un frame, en total 18 (desde el 1 hasta el 18). En cada uno de ellos se observa un color, en total 18

if (platina > 225){
_currentframe = mc_12.prevFrame();
mc_12.prevFrame();
} //* Giramos platina de 225º a 270º aquí debería hacer lo mismo: avanzar un frame en sentido contrario al anterior (desde el 18 hasta el 1), en total 18.

if (platina > 270){
_currentframe = mc_12.nextFrame();
mc_12.nextFrame();
}

if (platina > 315){
_currentframe = mc_12.prevFrame();
mc_12.prevFrame();
}

if (platina = 0){
_currentframe = mc_12.Frame(1);
}
}

Esto no me funciona cuando sobre el escenario están el moviclip mc_platina y el botón b y el moviclip mc_12 con 18 fotogramas lo sitúo con attach (sustituyendo a otro movi previo, llamado mc_imagen), al accionar el botón analizador. Es decir, tengo situado en el escenario los movis mc_platina y mc_imagen y los botones b y analizador y en la biblioteca el movi mc_12. Al presionar analizador se pone en el lugar del movi mc_imagen el movi mc_12 y al presionar el botón b, deberían girar simultáneamente el mc_imagen (es decir, el mc_12 que estaba en biblioteca) que simultáneamente cambiaría de color y el mc_platina. El código del botón b es el indicado anteriormente y el del movi analizador es:

if (referencia == 1 and laux == 0) {
referencia = referencia+1;
mc_imagen.attachMovie("mc_"+boton+referencia, "mc_imagen", 1);
}
Funciona todo bien pero ahora, se sitúa en el escenario el mc_12, (ahora mc_imagen) pero tanto si se presiona b para que gire como si no, actúa independientemente y no hace caso al primer frame en el que hay un stop. No sé como solucionarlo porque parece que el botón b no puede actuar sobre el contenido del moviclip, sólo sobre él; cuando en el caso anterior si parecía actuar sobre su contenido.

Por cmarcos

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 17 Abr 2012 02:10 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Abr 2012 04:19 pm
Cierto, hay que ser sintético. Las larguísimas explicaciones muchas veces distraen y en general son un plomo.
Pero soy de otra generación y para resolver los problemas teníamos que ir hasta el fondo. Ahora las cosas han cambiado y cierto que siguen funcionando.
Bueno, en definitiva

Yo en solitario y con la sentencia adecuada he logrado resolver el problema

Muchas gracias a quienes han intentado ayudarme. Poco a poco me voy orientando y logrando mis objetivos.

Por cmarcos

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 19 Abr 2012 04:29 pm
No creo que seas mucho mas viejo que yo, la cosa es ir actualizandose ... igual cada maestrito con su librito

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Abr 2012 04:35 pm
Ya lo resolví

Por cmarcos

46 de clabLevel



 

msie8

 

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