Es posible que muchos de vosotros conozcais la función (pragma) #include en Flash. Lo que hace es cargar archivos de código actionscript en la lí nea de tiempo donde esté.
Por ejemplo una sintaxis puede ser asi:
#include “carpeta/archivo.as”
donde “carpeta” hace nombre a la ruta donde teneis guardado el “archivo.as".
Por ejemplo , esto:
#include “../../carpeta/archivo.as”
irá a buscar la “carpeta” dos niveles atrás y en ella buscará el “archivo.as".
Es útil (entre otras cosas) para cargar funciones estándar que se suelen usar frecuentemente. Por ejemplo, si tenéis una serie de funciones genéricas que realizan comprobaciones de carga de pelí culas y lo tenéis en un archivo llamado (por ejemplo) “Loading.as", es posible que las utilicéis con una frecuencia alta. Y saber dónde está ese archivo respecto de la pelí cula que estéis desarrollando, a veces puede ser un poco molesto. Otra solución es copiar ese archivo “Loading.as” en el mismo nivel que la peli Flash que lo utilice. Pero entonces se estarí a duplicando un archivo de una manera redundante.
Lo mejor seria tener esos archivos de código todos juntos y llamar al que te interesa sin tener de preocuparte por la ruta ni haber de duplicarlo.Pues eso es posible!
Después de instalar los componentes de Flashremoting, se me creo una carpeta llamada Include en la siguiente ruta (depende de dónde hayais instalado el FlashMX esto puede variar):
C:Archivos de programaMacromediaFlash MXConfigurationInclude
Pues resulta que Flash, siempre que ve un #include , lo primero que hace es buscar el archivo en esa carpeta, si no lo encuentra lo busca desde la ruta de donde esté el Flash.
Yo me he creado una carpeta “code” en esa direccion:
C:Archivos de programaMacromediaFlash MXConfigurationIncludecode
Donde iré poniendo todos aquellos archivos que utilice más frecuentemente.
Asi, con poner esto
#include “code/archivo.as”
Me estaré incluyendo mis archivos necesarios, sin necesidad de duplicarlos ni realizar exhaustivas averiguaciones de dónde demonios se haya respecto del flash que esté haciendo.
Espero que os sirva de ayuda
Febrero 19th, 2004 at 12:36 am
Muy buen estreno Dani, creo que este tip puede ser muy útil por dos motivos, digamos que si hablamos del tema que propones, podemos encontrar dos perfiles de programador,
el despistao (como yo)
que usa los includes, pero desconocí a este pequeño ‘truco’.
el vagote
que ha oido hablar de los includes, pero piensa … para que me voy a complicar la vida? si yo lo hago a mi manera y me va la mar de bien…
hummm, bueno quedarí a un tercer perfil (el que ya lo sabia XD)
Lo cierto, es que lo que propones, no solo comporta un ahorro digamos… de neuronas, (quien no se ha vuelto loco alguna vez buscando auqella función) … si no que además conlleva, subir un escalón más en lo que yo definirí a como ‘codigo inteligible’ …
Hasta el próximo
Febrero 19th, 2004 at 11:08 am
coño! este tip es muy bueno! yo siempre me paso horas apuntando las rutas xDDD
Febrero 19th, 2004 at 1:23 pm
Vale Pedro, entonces apuntao al grupo de los ‘despistaos’
Je,je Dani es un buen fichaje
Saludos!
Febrero 19th, 2004 at 5:45 pm
Eso me parece genial! Buen tip.
Saludos.
Febrero 20th, 2004 at 7:05 pm
La verdad es que el tip este lo suelo usar siempre. Pero en MX2004 la potencia crece descomunalmente. En el trabajo no suelo trabajar nunca en local ya que trabajamos con servidores de archivos compartidos y demás mandangas. La verdad es que nunca he probado si funcionarí a un #include “//srv-desarrollo/proyectos/as/clases".
Al grano, los classpath afectan tanto a la instrucción import como #include. Esto implica que podemos tener el código centralizado en un servidor y todo el equipo trabajamos sobre los mismos archivos tanto para clases como para funciones sueltas.
Saludos
Febrero 20th, 2004 at 7:09 pm
buahh! no se entiende nada de lo que he dicho :-S
Lo que quiero decir es que podemos configurar varios classPath desde el ide de flash, para ello: menú edición - preferencias - pestaña actionscript - botón actionScript Settings.
Un vez allí podemos añadir una ruta para las clases, otra para funciones sueltas y sobretodo no quitar el (localdata).
Si por ejemplo configuro como classPath “\\srv-desarrollo\as\functions” y ahí tengo el arhivo funciones.as desde mi fla (esté donde esté) puedo hacer:
#include “funciones.as”
Por otro lado si mi otro classPath es “\\srv-desarrollo\as\clases” podré hacer:
import system.mc.ExtendedMC
myMC = new ExtendedMC;
Espero que se entienda mejor ahora
Febrero 20th, 2004 at 7:16 pm
Si no entiendo mal, es el mismo sistema que comenta Dani, pero asignas (en preferencias) cual será el path por defecto. Pues mira, otra cosa que sabemos, desde luego más práctico si es.
Todaví a funciono con MX v1, pero es para tener en cuenta.
salu2
Febrero 20th, 2004 at 7:27 pm
Eso es. Que forma de complicarme la existencia con la explicación… La única diferencia es que de esta forma puedes definir el directorio en vez de tener que usar el directorio include.
Febrero 21st, 2004 at 12:44 pm
Pues por lo que comenta Xavi, parece que con el MX04 han evolucionado hacia la manera natural. ¿ Porqué tener que trabajar con el directorio Include de mi máquina local si puedo especificar una ruta más cómoda donde centralizar todos los archivos .as ?
Me parece muy acertada esa propuesta.
Gracias por el tip Xavi, pues lo desconocia. ^_^
Septiembre 29th, 2004 at 11:11 pm
Hola,
Es posible utilizar #include pero en vez de ingresar el nombre del archivo “datos.txt", hacer algo parecido a lo siguiente ?
var ale = “datos.txt”
#include ale
Obviamente ya lo probe pero no funciona, conces algun truco para hacerlo ?
Saludos,
Alejandro