Comunidad de diseño web y desarrollo en internet online

como optimizar codigo

Citar            
MensajeEscrito el 16 Oct 2008 10:26 pm
buen dia a todos,

nesecito que me echen una mano con el siguiente problema

estoy haciendo una aplicacion en la cual existen 6 partes del cuerpo humano (cabeza, cuerpo, brazoIzp, brazoDer, piernaIzq, piernaDer) y un muñeco sin nada; la idea es que la persona que use la aplicacion debe ir armando el cuerpo, arrastrandolo, por ejemplo la cabeza a su sitio (y de alli no dejarla mover) y asi con el resto de partes.

el codigo creo que esta bien porque me funciona y hace lo que se le pide, el problema es que tengo que repetir muchas veces el mismo codigo, solo cambiando el nombre del mc que nesecite...

coloco el codigo de la cabeza, el resto es lo mismo, solo que cambiando cabeza por cuerpo, brazoIzq, ....

Código :

cabeza.addEventListener(MouseEvent.MOUSE_DOWN, presionado);
cabeza.addEventListener(MouseEvent.MOUSE_UP, suelto); 
cabeza.addEventListener(MouseEvent.MOUSE_MOVE, detener)


var mov:Boolean = false;
var nomov:Boolean = true;

   function suelto(e:Event):void{
   mov = false;
   nomov = true;
   cabeza.stopDrag();
   
   }


   function presionado(e:Event):void{
   mov = true;
   nomov = false;
   cabeza.startDrag();
   }


   
   function detener(event:MouseEvent):void
   {
      if(mov)
      {   
                                                 //aca se comprueba si cabeza esta dentro del espacio asignado para ella
         if(mouseX > 250 && mouseX < 350 && mouseY > 100 && mouseY < 300)
         {
         cabeza.stopDrag();
         cabeza.x = 310;
         cabeza.y = 154;
         }
      }
   }




yo creo que debe haber una forma de hacerlo mas optimo....
espero me ayuden con esto

si alguien sabe otra forma de hacer lo mismo, y mas sencillo (sabiendo que asi como son 6 partes, pudiesen ser mas)
se le agradeceria

no soy muy nuevo manejando flash cs3 pero ahi voy

ahh esto es as3 xd

gracias

Por tintin

26 de clabLevel



 

msie7
Citar            
MensajeEscrito el 17 Oct 2008 03:18 am
Primer tip: usualmente el evento tiene un target que apunta al que lo generó, así en vez de hacer por ejemplo

Código ActionScript :

function suelto(e:Event):void{
   mov = false;
   nomov = true;
   cabeza.stopDrag();   
}

haces

function suelto(e:Event):void{
   mov = false;
   nomov = true;
   MovieClip(e.target).stopDrag();  
 }


Y así con todo los que reciban enventos, le agregas el mismo listener a todos los MC

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Oct 2008 11:41 pm
uyy hermano que tipxaxo....

muchas gracias....

si tienes otro, sera bien recibido

Por tintin

26 de clabLevel



 

msie7
Citar            
MensajeEscrito el 28 Oct 2008 10:00 am
El segundo tip, es meter tus MCs en un array y recorrertelos

Código ActionScript :

misMCs=new Array(cabeza, cuerpo, brazoIzp, brazoDer, piernaIzq, piernaDer); 
for each (var mc:MovieClip in misMCs){ 
    mc.addListener(.....) 
    mc.addListener(.....) 
    mc.addListener(.....) 
} 

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Oct 2008 02:04 pm
tal vez usando herencia donde tenes una clase q se llama partes del cuerpo haces una abstraccion y pones las funciones principales solamente..las genericas de todas las partes y dps en cada parte heredas de partes del cuerpo y pones lo especifico en cada una espero te sirva saludos!

Por demonxtreme

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Oct 2008 08:11 pm
grax por el segundo tip, ta weno

en cuanto al ultimpo post.....
como haria lo de la herencia????
me podrias ayudar??

grax

Por tintin

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Oct 2008 07:58 am
Tintin, cuando en Flash tenemos un MC, en los datos para exportar le indicamos el nombre de la "Clase" y el nombre de la "Clase Base". Normalmente a un MC, le damos como nombre de la clase base un flash.display.MovieClip
Nos podemos crear una clase que extienda de MovieClip -o de Sprite- que permita draguearse, p.e.
Si nuestros Elementos brazo, pierna, etc, tienen como clase base la clase que hemos creado, ya se podrán draguear.
Llops lo explica mucho mejor que yo en este link

Por Eliseo2

710 de clabLevel



 

firefox

 

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