Comunidad de diseño web y desarrollo en internet online

Acceder a las propiedades de un Movie clip dentro de otro Movie clip

Citar            
MensajeEscrito el 25 Jul 2012 03:54 pm
Saludos
mirad necesito ayuda con esto, tengo un movieclip dentro de otro
al primero lo llamamos clip1 y al que esta dentro de este lo llamamos clip2.

Estando en la película principal osea donde esta clip1 quiero comprobar la propiedad

Código ActionScript :

._rotation
del clip2, he intentado con

Código ActionScript :

if(clip1.clip2._rotation == -2){ //esta es la parte en la que necesito ayuda :( 
   }

Pero no me funciona, podríais decirme cual es la forma correcta de hacer esto
Muchas gracias.

Por 53b45

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Jul 2012 05:31 pm
Lo primero> imprime el valor. Agrega

trace("La rotación es "+clip1.clip2._rotation)

Verás el valor en el panel de salida de Flash

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Jul 2012 07:40 pm
Ok gracias lo puedo ver en la consola, pero si quiero usar ese valor por ejemplo para una condición como puedo usarlo? , una pregunta que tal vez solucione mi problema, el nombre que usamos en

Código ActionScript :

if(clip1.clip2._rotation == -2){ //esta es la parte en la que necesito ayuda :( 
}

Ese clip1 y clip2 debe ser el nombre de instancia o el nombre del movieclip ? casi siempre uso el mismo nombre para ambos así que quiero aclarar eso.

Lo que intento hacer es esto, al presionar una tecla el clip2 rota, y quiero que el botón llamado filtro se active y se vea (alpha 100) cuando la rotación de clip2 (contenido en clip1) sea igual a -2, incluí un trace para comprobar por consola, pero nada.

Código ActionScript :

clip1.stop();
import mx.transitions.Tween;
import mx.transitions.easing.*;
if(clip1.clip2._rotation == -2){
      filtro.enabled = true;   
      var miTween:Tween = new new Tween(filtro, "_alpha", Back.easeOut, 0, 100, 1, true);
      trace("Si vez esto, funciona");
   }
stop();

Por 53b45

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Jul 2012 08:44 pm
Si quieres chequear constantemente tienes que meter la condición en un onEnterFrame, sino se ejecuta una sola vez

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Jul 2012 09:24 pm
Jaja apenas estoy empezando en esto del actionscript, me creeras si te digo que no tengo idea para que es el onEnterFrame :lol: buscare entonces como puedo usarlo.

Por 53b45

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Jul 2012 09:29 pm
Para correr hay que saber caminar primero

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Jul 2012 09:48 pm
Jaja bien dicho :wink:

Por 53b45

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Jul 2012 03:20 am
Bien probando me di cuenta de un error que tenia

Código ActionScript :

if(clip1.barrita._rotation == 0){
   trace("Funciona"); 
}
stop();


Lo que tenia mal era que yo usaba el nombre del clip2 y no el nombre de instancia que le había dado (para no confundirnos su nombre de instancia es "barrita" :lol: )

Ahora quiero que se chequee constantemente pero aun no entiendo como usar el onEnterFrame :(

Por 53b45

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Jul 2012 03:27 am
Algo asi

Código ActionScript :

onEnterFrame = function(){
 if(clip1.barrita._rotation == 0){
   trace("Funciona"); 
 }
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Jul 2012 03:43 am

solisarg escribió:

Algo asi

Código ActionScript :

onEnterFrame = function(){
 if(clip1.barrita._rotation == 0){
   trace("Funciona"); 
 }
}


Jorge


Jajaja vaya solo era eso y yo partiéndome la cabeza :shock:
Excelente muchísimas gracias.

Por 53b45

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Jul 2012 06:16 am
Bueno he estado probando el onEnterFrame y todo perfecto excepto cuando quiero usar 2 (es decir termina el primer onEnterFrame, entonces lo elimino y enseguida va el segundo y una vez termina lo elimino)
la idea es que al finalizar no se vea mas el clip _visible = false asi

aguja 1 = clip1
aguja 2 = clip2
filtro = el boton que recupera el alpha
filtro2 = el segundo boton que recupera el alpha

Código ActionScript :

aguja1.stop();
aguja2.stop();
import mx.transitions.Tween;
import mx.transitions.easing.*;

onEnterFrame = function(){
if(aguja1.aguja._rotation == -2){
      
      filtro.enabled = true;   
      var miTween:Tween = new new Tween(filtro, "_alpha", Back.easeOut, 0, 100, 1, true);
      trace("El chaco"+aguja1.aguja._rotation);
      
      aguja1._visible = false;
      delete onEnterFrame
   }}
   onEnterFrame = function(){
if(aguja2.aguja._rotation == -2){
      
      filtro2.enabled = true;   
      var miTween:Tween = new new Tween(filtro2, "_alpha", Back.easeOut, 0, 100, 1, true);
      trace("El chaco 2"+aguja2.aguja._rotation);
      
      aguja2._visible = false;
      delete onEnterFrame
   }}
stop();


el problema es que al final solo el clip 2 desaparece y solo el boton 2 recupera su alpha, y si elimino esta parte del código entonces la primera parte (el primer onEnterFrame) funciona correctamente
Que estoy haciendo mal ?

Por 53b45

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Jul 2012 06:28 am
Si lo que quieres es encadenar animaciones, mirate la librería TweenLite , que es un Tween con esteroides, especialmente el callback que tiene cuando termina de ejecutar una animación
http://www.greensock.com/tweenlite/

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Jul 2012 08:02 pm
Wow gracias por ese dato, mas adelante la explorare :wink:

Al parecer por ahora pude resolver mi problema con los onEnterFrame adivina como lo solucione ......... nada ? ............. pues metiendo uno entre el otro :lol:

Código ActionScript :

onEnterFrame = function(){
//aqui va toda la condicion
delete onEnterFrame
onEnterFrame = function(){
//aqui va la segunda condicion
delete onEnterFrame
   }}


Por ahora me funciona para lo que necesito aunque no creo que sea la forma correcta de hacerlo pero seguiré intentando ^^
Muchas gracias por la ayuda Jorge.

Por 53b45

6 de clabLevel



Genero:Masculino  

firefox

 

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