Comunidad de diseño web y desarrollo en internet online

M.C. que solo se activa si colocamos otro M.C.encima

Citar            
MensajeEscrito el 13 Mar 2009 12:46 pm
Hola amigos mi problema es el siguiente:
Tengo un cuadrado que es un MC que realiza una acción (cambiar de color por ejemplo), lo tengo desactivado con un stop, y quiero que se active esa acción solo cuando le ponga encima otro MC que tengo con la propiedad drag.

Código :

stop();

cuadrado.stop();

circulo.onPress = function(){
this.startDrag(true)
}
circulo.onRelease = circulo.onReleaseOutside = function()
{      this.stopDrag(false); 
   
}


Les pongo el código para que vean como lo estaba planteando, pero no doy con el código necesario para realizar esa acción. Si alguien puede echarme un cable estaría muy agradecido.

Saludos.

Por carlosvudu

21 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Mar 2009 10:11 pm
para que un boton pueda usarse o no, puede usar la propiedad enabled, que es mejor que un stop, ya que ahi estas parando una reproduccion pero no la accion del boton.

enabled, es un propiedad pura del boton, y es del tipo Booleano, es decir solo acepta 2 parametros: true o false.
si pones true el boton podra clickearse, si pones false, ya no se podra clickear.

ejemplo:

Código :

boton.enabled=true; //el boton esta activo.
boton.enabled=flase; //el boton esta desactivo.

saludos

Por bubudrc

Claber

591 de clabLevel

1 tutorial

 

mayo 2006

firefox
Citar            
MensajeEscrito el 15 Mar 2009 01:01 am
Gracias por la recomendación bubudrc, pero mi rectangulo no es un boton sino un movie clip, y lo que quiero es coger mi circulo, arrastrarlo y solo si lo dejo encima del rectangulo, que este realice la acción.
No se si me he explicado claramente?? Gracias!!

Por carlosvudu

21 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Mar 2009 08:51 am

Código ActionScript :

stop();

cuadrado.stop();

circulo.onPress = function( Void )
{
   this.startDrag(true)
};
circulo.onRelease = circulo.onReleaseOutside = function( Void )
{      
   this.stopDrag(false); 
   if( this.hitTest(this._parent.cuadrado) )
   {
      this._parent.cuadrado.play();
   }
};


Creo que eso es lo que necesitas. Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 15 Mar 2009 02:50 pm
Muchas gracias !!! LongeVie has dado en el clavo, funciona perfectamente. Gracias y un abrazo

Por carlosvudu

21 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Mar 2009 08:51 pm
no seria mejor con un _droptarget?

Por hormy1

Claber

124 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Mar 2009 05:56 am

hormy1 escribió:

no seria mejor con un _droptarget?


Yo siempre opto por hitTest, pues es mas compatible, pero igual podrias poner el ejemplo con _droptarget, asi habra para elegir.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 17 Mar 2009 10:53 pm
Hola! :D ok el ejemplo con un _droptarget es asi:

Código :

comienzoX = mc._x;
comienzoY = mc._y;
circulo.onPress = function() {
    this.startDrag(true); //aunque a mi me gusta mas con un false :P
};
circulo.onRelease = function() {
    this.stopDrag();
    if (eval(this._droptarget) == cuadro) {
        this._x = cuadro._x;
   this._y = cuadro._y;
    } else {
    this._x = comienzoX ;
    this._y = comienzoY ;
    }
};


Eso es todo :D, yo prefiero usar _droptarget por que es más especifica la posicion en la que debes arrastrar el objeto, pues debes centrar bien el objeto que estas arrastrando a el target, con un hitTest puedes poner el objeto en cualquier parte del target y te lo pondra... aunque un hitTest daria un buen efecto para un juego de niños o algo asi ... XD

Por hormy1

Claber

124 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Mar 2009 10:54 pm
oye LongeVie como pones el codigo con color? XD

Por hormy1

Claber

124 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Mar 2009 11:35 pm
Si, he usado hittest para casi todo, hasta juego de niños :P

Bueno, para colorear el codigo en lugar de usar [code], usa [as], y tambien puedes usar xml js php html

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 19 Mar 2009 12:59 am
oooooo :P gracias :D

Por hormy1

Claber

124 de clabLevel



 

firefox

 

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