16 de junio de 2008

Simulador de Explorador de Carpetas (XML+AS3.0)

Hola !

Traigo un pequeño proyecto que estaba haciendo en mis tiempos libres, es un simple simulador de explorador de carpetas hecho en Flash CS3, utiliza XML y Actionscript 3.0.

Se podría utilizar para hacer catálogos ó portafolios de trabajos, la ventaja es que puedes hacer una estructura anidada de los niveles que gustes, cada carpeta puede contener sus propios archivos, también le incorporé una paginación cuando se despliegan los archivos, ordenamiento por nombre pero se le pueden añadir nuevos filtros de ordenamiento fácilmente como ordenar los archivos por su fecha si es que decides agregarle esa propiedad, el ordenamiento es muy parecido a la arquitectura utilizada en java.

Explico como utilizar el proyecto por defecto.

Descomprime el proyecto, vas a ver una carpeta model, dentro de esta contiene un archivo llamado “categorias.xml”, en esta viene la configuración de las carpetas, veamos el xml:

<?xml version="1.0" encoding="utf-8"?>
<categorias>

<categoria nombre="Carpeta 1" src="model/data/datosCarpeta.xml">
<categoria nombre="SubCarpeta 1-A" src="model/data/datosCarpeta.xml">
<categoria nombre="SubSubCarpeta 1-A-A" src="model/data/datosCarpeta.xml" />
</categoria>
<categoria nombre="SubCarpeta 1-B" src="model/data/datosCarpeta.xml" />
</categoria>

<categoria nombre="Carpeta 2" src="">
<categoria nombre="SubCarpeta 2-A" src="model/data/datosCarpeta.xml" />
</categoria>

</categorias>


Dentro de la etiqueta , se encuentra la estructura general de las carpetas, por ejemplo:

Tengo 2 carpetas en la raíz de mi proyecto,

  • Carpeta 1

  • Carpeta 2


Dentro de Carpeta 1 hay una carpeta llamada SubCarpeta 1-A y Subcarpeta 2-A, dentro de SubCarpeta 1-A encontramos que hay otra carpeta SubSubCarpeta 1-A-A y dentro de SubSubCarpeta 1-A-A ya no hay nada.

Dentro de Carpeta 2 hay una carpeta llamada SubCarpeta 2-A, y esta carpeta ya no contiene otras carpetas.

Así podemos ir anidando las carpetas los niveles que deseemos.

Dentro de cada carpeta podemos tener archivos, y para lograr esto, utilizamos el atributo “src” de la etiqueta , dentro de este atributo ponemos la ruta que contiene los archivos, si esa carpeta no contiene archivos dejamos ese atributo en blanco.

Por ejemplo:

<categoria nombre="Carpeta 1" src="model/data/datosCarpeta.xml">


La Carpeta 1, cuando la abramos cargará los archivos que se encuentran en model/data/datosCarpeta.xml, la estructura de ese archivo debe ser como esta:

<?xml version="1.0" encoding="utf-8"?>
<categoryData>

<data>
<name>Homer Jay</name>
<desc>La voz original en inglés es de Dan Castellaneta. En España fue doblado hasta la undécima temporada por el fallecido Carlos Revilla, a quien sustituye Carlos Ysbert. En Latinoamérica hasta la decimoquinta temporada (incluida) estaba doblado por Humberto Vélez, reemplazado tiempo después por Otto Balbuena.</desc>
<views>
<view>images/homero.gif</view>
</views>
</data>

<data>
<name>Bartholomew</name>
<desc>Bart es decididamente el más rebelde de la familia. Es un muchacho simpático y también muy travieso, que hace muchas bromas con su amigo Milhouse. Sigue los programas de su ídolo Krusty el payaso y de Itchy & Scratchy.</desc>
<views>
<view>images/bart.jpg</view>
</views>
</data>

<categoryData>


Cuando queramos agregar nuevos archivos agregamos un nuevo nodo “data”, algo muy importante es no olvidar poner la etiqueta , dentro de esta van las imágenes por si tu archivo hace referencia a un juego de imágenes, puedes poner swf´s, jpg´s, gif´s ó png´s.

Si no hay imágenes deja la etiqueta views vacía.

Así cada carpeta puede apuntar a un archivo diferente en su atributo src, siempre y cuando respetando la estructura del xml que contiene los archivos.

Sale, dejo el proyecto, para que le metan mano y lo acoplen a sus necesidades.

Cualquier comentarios, sugerencia, mentada de madre :P, es bienvenida.

Les dejo una captura:



Aquí se pueden descargar el proyecto:
PROYECTO

Un Saludote !

1 comentario:

Anónimo dijo...

To the author of this blog,I appreciate your effort in this topic.