Scale 2

Veamos a continuación como ponemos límites al cambio, el script es sencillo pero muestra una cosa nueva: una FUNCIÓN. ¿Qué es una función? bueno ya habrá tiempo para explayarnos en su explicación pero nos basta saber que es un código o script que podemos colocar en un sitio e invocarla (¿suena a espiritus no?) desde cualquier otro sitio. las posibilidades de usar funciones son muchas, sus secretos también pero en este ejemplo no hacemos nada complicado. Veamos:
Básicamente tenemos los mismos elementos y la misma idea del ejemplo anterior PERO el script cambia radicalmente, veamos:

En el primer frame (y único donde se aloja todo) ponemos estas variables:

//No podemos cambiar el tamaño del swf
//tampoco podemos hacerlo pantalla completa
fscommand("allowscale", "false");
fscommand ("fullscreen","false");
//variables que cargan el texto a sus cajas respectivas, son simples textos
var cajax="X";
var cajay="Y";
var titulo="_SCALE"
//variables de límites para los cambios, estos corresponden al alto y ancho de la película, en varios ejemplos ya hemos visto que son de gran ayuda para simular "límites"
var limit_x=300;
var limit_y=300;
stop();

tenemos límites que obviamente mantendrán a raya el cambio de tamaño de la imagen y ahora la idea es que si es que se alcanza el límite la imagen vuelva a su tamaño original, para almacenar el tamaño original y usarlo vamos a crear una función, sencilla fácil y que será de gran ayuda a la hora de resetear a su tamaño original al imagen:
Cogemos el clip y ponemos esta función:

onClipEvent(load){
//creamos la función de nombre "reset"
function reset(){
//se ponen los limites del tamaño original del clip
this._xscale=100;
this._yscale=100;
}
}

Los valores 100 y 100 corresponden al tamaño original del clip en su ancho y alto. Ahora creamos el script para los botones:
Para los que aumentan en _x o en _y el límite será _limit_x (300)mientras que para los que decrecen el tamaño el límite será simplemente 0, si bien nos pudimos ahorrar script poniendo 300, el caso es que cuando tengas una película con medidas no iguales: 550, 400, o 220, 300, etc. tendrías que crear 2 variables para almacenarlas (o un array):

on(release){
_root.grafico._xscale+=10;
//Si pasan el límite _x (300)
if(_root.grafico._xscale>=_root.limit_x){
se invoca a la función, nótese que se invoca como si nos refirieramos a una variable del objeto donde se aloja pero la diferencia está en que esta "variable" es un grupo de acciones, de manera más ordenada y se puede usar mejor.
_root.grafico.reset()
}
}

Como vemos cada vez que el clip se sale de sus límites vuelve automáticamente a su tamaño original...funciona! y lo mejor es que hemos visto de pasadita a una FUNCIÓN. Incluso hemos armado una.
Cosa de práctica y verás que es sencillísimo.

Bájate el Fla aquí

Manuel Jesús Vejarano::: Derechos Reservados