jueves, agosto 11, 2005

(FLASH) Creando objetos elásticos con propiedades de ancho y algo

  1. Dibujar un objeto (un cuadrado por ejemplo) y lo convertimos en MovieClip, con nombre "cuadro"(presionar F8).
  2. Arrastrar al escenario del panel de componentes Button y NumericStepper y los borramos del escenario. Ya están en la biblioteca.
  3. En el primer frame de la película escribir este código:

//Aqui estamos creando la funcion
cambiarXY = function () {
/* Lo que hace el evento "onEnterFrame es que en cada cuadro (frame) de
tu pelicula hara las acciones indicadas*/

this.onEnterFrame = function() {
/* this.cuadro._xscale se refiere a el objeto, en este caso MovieClip y su nombre
de instancia es "cuadro" y a su propiedad _xscale. Esta es la formula del efecto
easing: objeto._propiedad += (valor+objeto._propiedad)/velocidad */

this.cuadro._xscale += (X-this.cuadro._xscale)/3;
/*Aqui hacemos que revise si el el valor de la propeidad del objeto es la misma de la
variable */

this.cuadro._yscale += (Y-this.cuadro._yscale)/3;
//Si el valor de la propiedad es igual a la variable quitamos el evento "onEnterFrame"
if (Math.abs(X-this.cuadro._xscale)<3 class="sIdentificador">Math.abs(Y-this.cuadro._yscale)<3) class="sKeyword">delete this.onEnterFrame;
}
};
};

Ahora los componentes:

/* attachamos los componentes (mandamos llamar a los componentes que estan en la libreria) y les
asignamos un nombre y un nivel (no pueden estar en el mismo nivel) */

attachMovie("Button", "btn", 1);
//attachtMovie (El nombre del objeto que esta en nuestra biblioteca, el nuevo nombre, el nivel);
attachMovie("NumericStepper", "num1", 2);
attachMovie("NumericStepper", "num2", 3);
//Aqui cambiamos sus propiedades
btn._x = 135;
btn._y = 174;
btn.setSize(54, 20);
btn.fontFamily = "_sans";
btn.fontSize = 10;
btn.label = "Cambiar!";
num1._x = 9;
num1._y = 173;
num1.setSize(55, 13);
num2._x = 74;
num2._y = 173;
num2.setSize(55, 13);
num1.maximum = 150;
num1.minimum = 0;
num1.stepSize = 1;
num1.value = 100;
num2.maximum = 150;
num2.minimum = 0;
num2.stepSize = 1;
num2.value = 100;


Y por último el listener:

//Creamos un nuevo objeto; miClick
miClick = new Object();
//Al objeto lo hacemos funcion en el evento "click" (este evento solo funciona en los componentes UI)
miClick.click = function() {
/* Tomamos el valor de los numericsteppers y se los pasamos a las variables X e Y (son las que
indicaran el valor que queremos darle a la propiedad del objeto) */

X = num1.value;
Y = num2.value;
//Aqui llamamos al a función cambiarXY
cambiarXY();
};
//Y ahora le añadimos la funcion a nuestro boton
btn.addEventListener("click", miClick);

No hay comentarios.: