Namespaces en las Propiedades de Vinculación

Publicado por Iván Gajate el 6 de mayo de 2009 en AS3, Flash, Tutoriales

El otro día me di cuenta, casi por casualidad, de un detalle interesante a la hora de vincular los clips de película de la biblioteca.

Estaba yo con un proyecto que consistía en una home que carga secciones diferentes, y cada una era un proyecto de Flex (Eclipse + Flex, proyecto ActionScript).

Yo tengo la costumbre de crear un clip Escenario donde meto todas las cosas de diseño que apenas requieren de programación: los logos, fondos, animaciones iniciales… y así es mas fácil posicionarlas al pixel. Luego no tengo más que hacer un new Escenario() y ya lo tengo todo colocadito en el pixel exacto.

propiedades-de-vinculacion-1

 

El problema vino cuando cargaba alguna de las secciones en la home, pues Eclipse me empezaba a dar errores raros en la clase Escenario.as, lo típico de que no coincide la firma con su contenido.

Decompilando la película me di cuenta del problema. Cuando vinculamos un clip de película con una clase inexistente, Flash la crea, y la crea ahí en medio, junto al fla. Por lo tanto mi sección tenía un Escenario.as en el nivel principal.

propiedades-de-vinculacion-2

Cuando ponemos en la home otro clip de película vinculado con Escenario, Flash crea de nuevo otra clase Escenario.as junto al nuevo fla, y éste entra en conflicto con el anterior, pues ambos tienen el mismo espacio de nombres (namespaces). Se puede ver por el package.

Para evitarlo basta con ponerle un espacio de nombre a la clase vinculada, por ejemplo seccion.Escenario, y flash creará una clase Escenario.as dentro de una carpeta seccion.

propiedades-de-vinculacion-3

De esta manera, en la home podemos vincularla a home.Escenario, y ahora ya no entrarán en conflicto.

Se puede ver perfectamente que ha creado una carpeta home y dentro ha metido la clase Escenario.as, y el package es ahora home.

propiedades-de-vinculacion-4

 

Los comentarios están cerrados.