Mis primeros scripts jsfl

Cuando hago animaciones en flash, a menudo repito la mismas interpolaciones de movimiento o forma, pero con diferentes elementos.

Por ejemplo, distintas imágenes que se escalan del 50% al 100% desde una posición determinada, o las letras de una palabra que parten de unas coordenadas y a un tamaño inicial y acaban en otro lado y con dimensiones diferentes.

Lo normal era seleccionar el elemento anterior con la posición y tamaño inicial, tomar nota del width, el height, y las coordenadas x e y, y volver al elemento que repetiría la interpolación para cambiar su tamaño y posición a los valores que había previamente apuntado. Y hacer lo propio con los siguientes elementos que iban a hacer lo mismo.

Aprovechando que mi jornada intensiva en el trabajo me deja las tardes libres, decidí buscar una solución y la encontré en JSFL.

Conseguí programar dos scripts. Los convertí en archivos con la extensión ‘jsfl’ y los guardé en la carpeta donde está el resto de comandos, en la dirección del pc del tipo C:\Documents and Settings\NOMBRE_USUARIO\Datos de programa\Macromedia\Flash 8\es\Configuration\Commands\, (donde hay que cambiar NOMBRE_USUARIO por lo que corresponda). Así accedería a ellos diréctamente desde el menú Comandos del IDE de Flash.

Los llamé PlaceAndSize_get.jsfl y PlaceAndSize_set.jsfl, y funcionan de la siguiente manera:

Selecciono un elemento del escenario y ejecuto PlaceAndSize_get desde el menú Comandos.

Esto es lo que ocurre:

var obj2selecprops=fl.getDocumentDOM().selection;
var copiarw = obj2selecprops[0].width;
var copiarh = obj2selecprops[0].height;
var copiarx = obj2selecprops[0].left;
var copiary = obj2selecprops[0].top;

Este código copia en memoria las dimensiones y posición del elemento seleccionado.

Luego me voy al frame donde está el elemento que quiero que tenga los mismos atributos y lo señalo también. (El anterior deja de estar seleccionado obviamente).

Ejecuto esta vez el comando PlaceAndSize_set y diréctamente establezco el tamaño y posición del primer objeto seleccionado al segundo.

var obj2pasteprops=fl.getDocumentDOM().selection;
obj2pasteprops[0].width = copiarw;
obj2pasteprops[0].height = copiarh;
var copiarxb = obj2pasteprops[0].left;
var copiaryb = obj2pasteprops[0].top;
fl.getDocumentDOM().moveSelectionBy({x:copiarx-copiarxb, y:copiary-copiaryb});

Y como los valores de las variables permanecen en memoria puedo volver a ejecutar el segundo comando tantas veces como lo necesite.

Solo me falta ver que atajo de teclado le casco para no tener ni que desplegar el menú Comandos.

Aquí están los jsfl.

Lo único que he detectado que no funciona correctamente es cuando el elemento inicial o final tiene algún trazado periférico.

Me explico. Un cuadrado de 100px de lado con un trazado de 1px en el borde, el IDE de Flash te dice que es una forma con 100px de lado pero el script jsfl que tiene 101px, por que a los 100 le suma 0.5 dos veces, que es lo que sobresale el trazo de 1px por cada lado.

Que lo sepas.

3 Responses to “Mis primeros scripts jsfl”

  1. HERBERT GAMBOA on Agosto 22nd, 2006 at 9:36 pm

    HOLA AMIGO BUSCO QUE MI PAGINA TENGA INTRO, SERA QUE LO PUEDAS HACER? SERIA UNO MUY SIMPLE COMO ESTE http://www.tanatologia.org.mx,
    GRACIAS MI CORREO ES
    jaareh@gmail.com y me localizas tambien con esa cuenta en el messenger de microsoft

  2. No problem.

    Prepara 132€ del ala. Serán unas 6 horas de trabajo a 22€ cada una.

    Tan pronto me envíes la mitad de la pasta empezaré la faena.

    Y no escribas en mayúsculas que es como si gritaras.

    Ok?

  3. Numerous people will find this info connected with rimeros scripts jsfl meanwhile supporters done written that the introduction is impressive. Thank You for the insight you have given.

Leave a Reply