Comunidad de diseño web y desarrollo en internet online

Optimizar funcion

Citar            
MensajeEscrito el 19 Ago 2009 10:23 am
Buenas,me hace falta un poquito de ayuda con esta funcion.Esta funciona perfectamente,pero me gustaria mejorarla un poco para luego a la hora de modificar hacerlo mas rapidamente.

Tengo el clip de pelicula mc1 vinculada a la funcion poligonos.En la funcion poligonos,homex,va ser la coordenada x a la que siempre va volver mi mc(la inicial) y lo mismo con la coordenada y.Luego tendria la posicion mc.x e mc.y que serian las coordenadas por las que el mc se va a estar moviendo en contacto con el raton.

Lo que me gustaria evitar es,poner en cada funcion del clip de pelicula respectivo su posicion x e y inicial.Si por ejemplo pongo en la funcion del evento las coordenadas mc.x e mc.y,el mc no vuelve a su posicion incial y se escapa del escenario.

No se si me explicado bien.En definitiva quiero asignar una variable que coja las coordenadas de mi clip,pero no puede ser mc.xe mc.y.

gracias




stage.addEventListener(Event.ENTER_FRAME, function() {mc1(p1,44,47);


function poligonos(mc:MovieClip, homex:Number, homey:Number){

var x0 = mc.x ;
var y0 = mc.y ;
var x1 = parent.mouseX ;
var y1 = parent.mouseY;
var distancex = x1 - x0 ;
var distancey = y1 - y0 ;
}

Por muse

50 de clabLevel



 

msie8
Citar            
MensajeEscrito el 19 Ago 2009 01:51 pm
Errr
var initX:Number = tuMc.x;
var initY:Number = tuMc.y;
:?

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 20 Ago 2009 03:02 pm
No funca.Si pongo en la funcion del evento miMc.x y miMc.y ,mi clip de pelicula se sale del escenario,y no vuelve jeje. Y es porque en la funcion poligonos x0 y y0 ya tienen ese valor.Tendria que cargar la pelicula con unas coordenadas iniciales,para coger su posicion,y luego ya en proceso,tomar x0 y y0 .
Sigo probando,por lo menos funciona,pero cada vez que cambio de posicion un clip,tengo que copiar las coordenadas del clip y pegarlas en mi .as.Y son muchos clips..

Gracias Zah!

Por muse

50 de clabLevel



 

msie8
Citar            
MensajeEscrito el 20 Ago 2009 08:48 pm
Sigo sin entender del todo lo que quieres hacer... pero básicamente se trata de recordar las coordenadas de tus clips, antes de que cambien. Seguramente tienes un código en alguna parte que cambia la posición de los clips. Entonces, después de que los clips estén en el escenario, y antes de cambiarlos de posición, deberías recordar su posición actual en variables.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 21 Ago 2009 10:25 am
Intento hacer lo que me dices,pero algo no tengo en cuenta,en el momento que cambio las coordenadas por una variable que contiene las coordenadas iniciales de la pelicula,se me esfuma el clip.

En el escenario tengo un clip con nombre de instancia p1,colocado en x = 42.7 e y =474.3
Este es el codigo:

Código ActionScript :

public class Main extends MovieClip {
      
       var magnet :Number = 200;
       var magic  :Number = 50;
       var forcex :Number = 1 ;
       var forcey :Number = 1;

         public function Main() {

                   stage.addEventListener(Event.ENTER_FRAME, function() 
                {poligonos(p1,42.7,474.3);}                  
                                                    )

             function poligonos(pol:MovieClip, homex:Number, homey:Number)
                     { 
                    var x0 = pol.x ;
                    var y0 = pol.y ;
                    var x1 = parent.mouseX ;
                    var y1 = parent.mouseY;  
                    var distancex = x1 - x0  ;
                    var distancey = y1 - y0 ;
                    var distance  = Math.sqrt(distancex * distancex + distancey * distancey);
                    var powerx = pol.x - distancex / distance * magnet / distance;
                    var powery = pol.y - distancey / distance * magnet / distance;
                    forcex = (forcex + (homex - x0) / 2) / magic;
                    forcey = (forcey + (homey - y0) / 2) / magic;
                    pol.x = powerx + forcex;
                    pol.y = powery + forcey;
                    }
}}}
            

Por muse

50 de clabLevel



 

msie8

 

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