Comunidad de diseño web y desarrollo en internet online

ayuda en animacion sencilla

Citar            
MensajeEscrito el 29 Mar 2009 03:44 am
buenas....

estoy desarrollando un juego el cual consiste en arrastrar a un lugar determinado las partes del cuerpo humano....

eso lo hace bien, el problema que tengo es el siguiente: tengo ya colocada, por ejemplo, la cabeza en su sitio, y quiero colocar un brazo, cuando lo paso por el area en el que esta la cabeza, me pasa el brazo por debajo de esta(la cabeza) y deberia ser por encima.....


espero que me puedan ayudar con esto.... gracias

Por tintin

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Mar 2009 10:20 pm
Hola tintin, pues podrias mostrar el codigo para buscarle el error aqui
Suerte ;)

Por puga

44 de clabLevel



Genero:Masculino  

En un computador, muy muy lejano...

firefox
Citar            
MensajeEscrito el 29 Mar 2009 11:47 pm
Creo que esto te puede ayudar.

http://stelios.oneirografos.net/programacion/puzzle

si te sirvio podrias ayudarme con el tema de clases - textbox que cree?

P.D: Si no se pueden poner links editen por favor.

Muchas gracias.

Por katze

23 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Mar 2009 12:10 am
gracias por sus respuestas.... respondo
puga... mi codigo.... este fue el basico que hize al principio para saber como funcionaba, a este nivel no lo coloco compreto, ya que es demaciado largo y basicamente es el mismo...... de paso si me dices como mejorar mi codigo estaria muy agradecido

mc: cabeza, cuerpo, braI, braD, pieI, pieD

Código :


   cabeza.addEventListener(MouseEvent.MOUSE_OVER, cabeza1);
   cuerpo.addEventListener(MouseEvent.MOUSE_OVER, cuerpo1);
   braI.addEventListener(MouseEvent.MOUSE_OVER, braI1);
   braD.addEventListener(MouseEvent.MOUSE_OVER, braD1);
   pieI.addEventListener(MouseEvent.MOUSE_OVER, pieI1);
   pieD.addEventListener(MouseEvent.MOUSE_OVER, pieD1);
   
   function cabeza1(event:MouseEvent):void
   {
      colocar(cabeza);
   }
   function cuerpo1(event:MouseEvent):void
   {
      colocar(cuerpo);
   }
   function braI1(event:MouseEvent):void
   {
      colocar(braI);
   }
   function braD1(event:MouseEvent):void
   {
      colocar(braD);
   }
   function pieI1(event:MouseEvent):void
   {
      colocar(pieI);
   }
   function pieD1(event:MouseEvent):void
   {
      colocar(pieD);
   }
   
   
   
   
function colocar(nombre:IEventDispatcher)
{
   
   nombre.addEventListener(MouseEvent.MOUSE_DOWN, presionado);
   nombre.addEventListener(MouseEvent.MOUSE_UP, suelto); 
   nombre.addEventListener(MouseEvent.MOUSE_MOVE, detener);
   }
   
   
   
var finca:Boolean = false;
var movca:Boolean = false;
var nomovca:Boolean = true;

var fincu:Boolean = false;
var movcu:Boolean = false;
var nomovcu:Boolean = true;

var finbi:Boolean = false;
var movbi:Boolean = false;
var nomovbi:Boolean = true;

var finbd:Boolean = false;
var movbd:Boolean = false;
var nomovbd:Boolean = true;

var finpd:Boolean = false;
var movpd:Boolean = false;
var nomovpd:Boolean = true;

var finpi:Boolean = false;
var movpi:Boolean = false;
var nomovpi:Boolean = true;



   function suelto(e:Event):void{
      
      var nombre2:String = MovieClip(e.target).name;
      
      switch(nombre2)
      {
         case "cabeza":
         {
            if(!finca)
            {
               movca = false;
               nomovca=true;
               cabeza.stopDrag();
            }

         }break;
   
         case "cuerpo":
         {
            if(!fincu)
            {
               movcu = false;
               nomovcu=true;
               cuerpo.stopDrag();
            }
         }
         break;
   
         case "braI":
         {
            if(!finbi)
            {
               movbi = false;
               nomovbi=true;
               braI.stopDrag();
            }
         }
         break;
   
         case "braD":
         {
            if(!finbd)
            {
               movbd = false;
               nomovbd =true;
               braD.stopDrag();
            }
         }
         break;
   
         case "pieI":
         {
            if(!finpi)
            {
               movpi = false;
               nomovpi =true;
               pieI.stopDrag();
            }
         }
         break;
   
         case"pieD":
         {
            if(!finpd)
            {
               movpd = false;
               nomovpd=true;
               pieD.stopDrag();
            }
         }
      
      }
   //MovieClip(e.target).stopDrag();
   }


   function presionado(e:Event):void{
      var nombre2:String = MovieClip(e.target).name;
      
      switch(nombre2)
      {
         case "cabeza":
         {
            if(!finca)
            {
               movca = true;
               nomovca=false;      
               cabeza.startDrag();
            }
            
         }break;
   
         case "cuerpo":
         {
            if(!fincu)
            {
               movcu = true;
               nomovcu=false;         
               cuerpo.startDrag();
            }
         }
         break;
   
         case "braI":
         {
            if(!finbi)
            {
               movbi = true;
               nomovbi=false;
               braI.startDrag();
            }
         }
         break;
   
         case "braD":
         {
            if(!finbd)
            {
               movbd = true;
               nomovbd=false;
               braD.startDrag();               
            }
         }
         break;
   
         case "pieI":
         {
            if(!finpi)
            {
               movpi = true;
               nomovpi=false;   
               pieI.startDrag();
            }
         }
         break;
   
         case"pieD":
         {
            if(!finpd)
            {
               movpd = true;
               nomovpd=false;   
               pieD.startDrag();
            }
         }
      
      }

   //MovieClip(e.target).startDrag();
   }


   
   function detener(e:Event):void
   {
      var nombre:String = MovieClip(e.target).name;
      
      switch(nombre)
      {
         case "cabeza":
         {
            if(!finca)
            {
               if(movca)
               {   
                  if(mouseX > 607 && mouseY > 100 && mouseX < 775 &&  mouseY < 209)
                  {
                  cabeza.stopDrag();
                  cabeza.x = 692.5;
                  cabeza.y = 161.6;
                  finca = true;
                  //trace("cabeza");
                  //removeChild(cabeza);
                  }
               }
            }
         }break;
   
         case "cuerpo":
         {
            if(!fincu)
            {
               if(movcu)
               {   
                  if(mouseX > 619 && mouseY > 193 && mouseX < 766 &&  mouseY < 340)
                  {
                  cuerpo.stopDrag();
                  cuerpo.x = 692.2;
                  cuerpo.y = 270.4;
                  fincu = true;
                  //trace("cuerpo");
                  }
               }
            }
         }
         break;
   
         case "braI":
         {
            if(!finbi)
            {
               if(movbi)
               {   
                  if(mouseX > 708 && mouseY > 193 && mouseX < 770 &&  mouseY < 328)
                  {
                  braI.stopDrag();
                  braI.x = 756;
                  braI.y = 258.4;
                  finbi = true;
                  //trace("brazoI");
                  }
               }
            }
         }
         break;
   
         case "braD":
         {
            if(!finbd)
            {
               if(movbd)
               {   
                  if(mouseX > 594 && mouseY > 196 && mouseX < 666 &&  mouseY < 312)
                  {
                  braD.stopDrag();
                  braD.x = 629.5;
                  braD.y = 258.4;
                  finbd = true;
                  //trace("brazoD");
                  }
               }
            }
         }
         break;
   
         case "pieI":
         {
            if(!finpi)
            {
               if(movpi)
               {   
                  if(mouseX > 677 && mouseY > 322 && mouseX < 774 &&  mouseY < 384)
                  {
                  pieI.stopDrag();
                  pieI.x = 723.6;
                  pieI.y = 353.4;
                  finpi = true;
                  //trace("pieI");
                  }
               }
            }
         }
         break;
   
         case"pieD":
         {
            if(!finpd)
            {
               if(movpd)
               {   
                  if(mouseX > 616 && mouseY > 312 && mouseX < 693 &&  mouseY < 384)
                  {
                  pieD.stopDrag();
                  pieD.x = 658.4;
                  pieD.y = 352.4;
                  finpd = true;
                  //trace("pieD");
                  }
               }
            }
         }
      }
   }
   
   
   


espero me ayudes.....


y katze, gracias por la intencion, pero ese codigo tiene el mismo problema que yo tengo, si colocas la cabeza y luego pasas por ella las piernas, estas ultimas pasan por debajo de la cabeza y no por encima...
y con respecto a tu problema, boy a mirar que hago, si algo t respondo

Por tintin

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Mar 2009 11:45 am
Mueve el item arrastrable al "top" de la DisplayList
Vamos, en la función presionado usas un setChildIndex

Código ActionScript :

setChildIndex(e.target,(numChildren-1))

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Mar 2009 01:31 pm
eyy señor muchisimas gracias, me ayudaste muchisimo con esa, aunque falto colocarle algo a su codigo, ya que me arroja un error de conversion

de esta manera si me funciono

Código :

setChildIndex(MovieClip(e.target),(numChildren-1));


muchas gracias por colaborar...

Por tintin

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Mar 2009 01:35 pm
uyyy se me presento otro problema, resulta que yo tengo unos botones de "adelante" y "atras", y ahora con solo tocar los MC, es como si se quedaran pegados a todos los fotogramas, por decirlo asi, no desaparecen, ni al darle adelante o atras....
(y ps antes no pasaba asi)


como puedo solucionar esto.....??

una vez mas gracias

Por tintin

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Mar 2009 01:39 pm
sera que el arreglo que le coloque a tu solucion esta mal??

Por tintin

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Mar 2009 04:33 pm
Se quedan porque su posicion en la DisplayList la mueves por codigo entonces permanecen en toda la linea de tiempo,yo tmb hice un juego de drag and drop y la solucion que tuve al cambio de frame era una funcion de limpieza, antes de cambiar llamaba Limpieza(); y removia o hacia invisibles los clips necesarios para esto todos mis arrastrables los nombre parcialmente igual "arrastrable_1","arrastrable_2" etc. en la funcion limpieza recorria todos los hijos de la escena y los que tuvieran de nombre "arrastrable_n" los borraba o hacia invisibles. Espero te sirva.

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Mar 2009 04:38 pm
Se me ha adelantado Angel :)
Algo parecido ocurría con Flash antes del CS3. Los elementos creados en tiempo de diseño (que estaban puestos en la película Flash tenían una "depth" negativa. Si cambiábamos lsu depth los podíamos remover pero permanecían por siempre -hasta que los removiéramos). La solución es la que comenta Angel

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Mar 2009 10:13 pm
heyy muchas gracias Angel y Eliseo,
por ahora todo va muy bn.... espero que siga asi...
de lo contrario estare por aca de nuevo para seguir molestandolos...

una vez mas muchas gracias

Por tintin

26 de clabLevel



 

firefox

 

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