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.