Comunidad de diseño web y desarrollo en internet online

Mover MC con posiciones variables (segun tamaño de pantalla)

Citar            
MensajeEscrito el 11 Sep 2008 07:12 pm
Necesito saber como puedo hacer para mover, con aceleración y desaceleración, los movieclips que tengo situados en mi página en posiciones variables (asignadas por mi para que queden siempre en posición, sin importar el tamaño de resolución de la pantalla).

Con variables me refiero a que la posición se la asigno con actionscript desde la linea de acciones en un frame, y se asigna de acuerdo a la posición del stage total. Ejemplo:

// izq_arriba_mc._x = Stage.width = 0;
// izq_arriba_mc._y = Stage.height = -3;

// izq_abajo_mc._x = Stage.width = 0;
// izq_abajo_mc._y = Stage.height - 21;

// der_abajo_mc._x = Stage.width - 150;
// der_abajo_mc._y = Stage.height - 20;

// der_arriba_mc._x = Stage.width - 315;
// der_arriba_mc._y = Stage.height = 20;

Asi que los MC quedan fijos en una posicion, pero quiero que en un momento, se le de una orden a un MC para que se mueva a otra posición, se mueva (con un moviemiento suave) y quede ahi como nueva posición.
Se entiende?
Alguna solución para hacer esto?
saludos!!! :D

Por Argento1982

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Sep 2008 07:37 pm
Primero intenta que se situen en el lugar correcto sin animación cuando ya hagas el cálculo de todos y se sitúen en el lugar correcto, entonces aplicas las animaciones. Te recomiendo para animar TweenMax

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 11 Sep 2008 08:07 pm
Estuve viendo eso.. pero no hay forma de hacerlo sin usar un "plugin" como ese...? me parece medio complicado, además, creo que los movimientos que hace son a partir de coordenadas X e Y fijas. y yo necesito que sean relativas, al igual que las posiciones que estoy utilizando.

Por Argento1982

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Sep 2008 09:12 am
Mira esto que te pasé es una librería de clases, no un plugin y claro que puedes hacer animaciones sin utilizarla, como te dije anteriormente, puedes utilizar los Tweens de Adobe los cuales tienen un código mucho más complicado, y por último presenta poco rendimiento o también puedes programar los moviemientos tú, pero que te parece más complicado de los siguientes códigos:

Voy a mover el objeto hasta 200 píxeles antes del borde derecho de la pantalla en las "x" 100 píxeles del borde de abajo de la pantalla en las "y" y aumentando su escala al doble:

Con TweenMax:

Código ActionScript :

var finX:Number = Stage.width - 200;
var finY:Number = Stage.height - 100;
TweenMax.to(objeto, 1, {_x:finX, _y:finY, _xscale:200, _yscale:200, ease:Cubic.easeOut});


Tween de Adobe:

Código ActionScript :

var finX:Number = Stage.width - 200;
var finY:Number = Stage.height - 100;
var myTween:Tween;
myTween = new Tween(objeto, "_x", mx.transitions.easing.Cubic.easeOut,0, objeto._x, finX, false);
myTween = new Tween(objeto, "_y", mx.transitions.easing.Cubic.easeOut,0, objeto._y, finY, false);
myTween = new Tween(objeto, "_xscale", mx.transitions.easing.Cubic.easeOut,0, objeto._xscale, 200, false);
myTween = new Tween(objeto, "_yscale", mx.transitions.easing.Cubic.easeOut,0, objeto._yscale, 200, false);


A mano si lo programas tu:

Código ActionScript :

var finX:Number = Stage.width - 200;
var finY:Number = Stage.height - 100;

this.onEnterFrame = function():Void{
   
   var difX:Number = (finX - objeto._x) * .25;
   var difY:Number = (finY - objeto._y) * .25;
   var difScale:Number = (200 - objeto._xscale) * .25;
   
   objeto._x += difX;
   objeto._y += difY;
   objeto._xscale += difScale;
   objeto._yscale += difScale;
   
   if(objeto._x == objeto.backup){
      
      delete this.onEnterFrame;
      
   }else{
      
      objeto.backup = objeto._x;
      
   }
   
}


Ya queda a desición tuya cuál utilizarás.
Y los movimientos como puedes ver se pueden hacer relativos en cualquiera de los tres casos.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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