Comunidad de diseño web y desarrollo en internet online

Necesito cambiar el tamaño de un movieclip mientras lo arrastro.

Citar            
MensajeEscrito el 15 Feb 2013 07:35 pm
Hola soy nueva en AS3 y apreciaria mucho que me pudieran ayudar.
Necesito disminuir el tamaño de mi movieclip mientras la x de mi moviclip sea mayor que 300, hasta ahora puedo mover el movieclip y ver su posicion en un text, pero no se como variar su tamaño mentras lo muevo.
les dejo lo que tengo , ojala me puedan ayudar

Código Javascript :

package 
{

   import flash.display.MovieClip;
   import flash.events.*;
   import flash.ui.MouseCursor;
   import flash.ui.Mouse;
   import flash.text.TextField;



   public class main extends MovieClip
   {


      public function main()
      {
         //Aunque tengas los elementos en el escenario, es bueno declararlos en variables
         //Y decirle al compilador como que ha de tratar esa variable
         var objetoA:MovieClip = getChildByName('c1') as MovieClip;
         //Si quieres que salga la manita activas el modo button mode
         objetoA.buttonMode = true;
         //Agregas sólo el listener del MOUSE_DOWN
         //Esto es debido a que de momento MOUSE_UP es un listener innecesario
         //Así que lo vincularemos cuando hagamos click en el objeto
         objetoA.addEventListener(MouseEvent.MOUSE_DOWN, mover);

      }
      function mover(Event:MouseEvent):void
      {
         //Ahora lo que hacemos es recoger el evento de los parámetros
         //Y su objetivo, en este caso 'c1' lo almacenamos en una variable
         //miMC en este caso
         var miMC:MovieClip = Event.target as MovieClip;

         //Ahora los listeners hay varias cosas a saber
         //Lo primero eliminaremos el MOUSE_DOWN, pues ya no nos hará falta
         //por lo menos hasta que soltemos el objeto
         miMC.removeEventListener(MouseEvent.MOUSE_DOWN, mover);
         //Ahora le agregamos al stage el MOUSE_UP
         //¿Por que al stage?
         //Bueno el movieCLip lo podrías estar moviendo tan rápido
         //que al soltar el click, el movie clip aún no estuviese bajo el mouse
         //con lo que miMC no dispararía el evento, sin embargo, hagas lo que hagas, stage lo captará
         stage.addEventListener(MouseEvent.MOUSE_UP, soltar);
         //Y por último le añadimos otro listener al mc MOUSE_MOVE
         //Que se disparará cada vez que movamos el mc,
         //y ejecutará la funcion obtenerPropiedades,
         //que se encargara de detectar la posicion  del mc y cambiar su alfa y el texto
         miMC.addEventListener(MouseEvent.MOUSE_MOVE, obtenerPropiedades);

         //Y por último lo arrastramos
         miMC.startDrag();
      }
      function soltar(Event:MouseEvent):void
      {
         //Lo mismo que antes almacenamos el objetivo del evento del mouse en una variable
         //Antes no lo he dicho, pero de esta manera la función nos valdrá para cualquier mc que arrastremos
         //sin necesidad de volver a escribir la función
         var miMC:MovieClip = Event.target as MovieClip;

         //Lo primero que hacemos es quitar el listener de stage pues ya no lo necesitaremos
         //por lo menos hasta que lo volvamos a arrastrar
         //en cuyo caso lo activara la funcion mover
         stage.removeEventListener(MouseEvent.MOUSE_UP, soltar);
         //Le quitamos tambien el listener MOUSE_MOVE a obtenerPropiedades
         miMC.removeEventListener(MouseEvent.MOUSE_MOVE, obtenerPropiedades);
         //Y por último le volvemos a activar el MOUSE_DOWN por si lo queremos volver a mover
         miMC.addEventListener(MouseEvent.MOUSE_DOWN, mover);

         //Y cómo no, dejamos de arrastrarlo
         miMC.stopDrag();
      }
      function obtenerPropiedades(evento:MouseEvent):void
      {
         //Como siempre almacenamos el objetivo
         var miMC:MovieClip = evento.target as MovieClip;
         //Ahora hacemos el condicional, daría igual dejarlo en 5 líneas,
         //yo lo pongo en 2, por que mirando grandes bloque de código me ayuda a reconocerlos mejor
         if (miMC.x <= 50)
         {
            miMC.alpha = 0.5;
         }
         else
         {
            miMC.alpha = 1;
         }
         //Y por último cambiamos el texto
         texto.text = String(miMC.x);
         
         
      }




   }

}

Por jge

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Feb 2013 08:37 pm
Tienes algo parecido en obtenerPropiedades

if (miMC.x > 300) miMC.scaleX-=0.01

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Feb 2013 02:10 pm

solisarg escribió:

Tienes algo parecido en obtenerPropiedades

if (miMC.x > 300) miMC.scaleX-=0.01

Jorge

Por jge

4 de clabLevel



 

firefox

 

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