Está usted en Indice > Programas > Diseño > Flash > Lecciones y Paso a Paso > Ejecutar código ActionScript en función del formato de publicación
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Ejecutar código ActionScript en función del formato de publicación

En Flash es posible definir distintas acciones de código ActionScript que se ejecutarán dependiendo del formato en el que se ha publicado la animación.

En Flash es posible definir distintas acciones de código ActionScript que se ejecutarán dependiendo del formato en el que se ha publicado la animación, o bien swf, o cualquiera de los formatos de su proyector: exe para Windows y hqx para Mac.

La diferencia entre ellos es que el formato swf es capaz de embeberse en una aplicación contenedora e incluso, y esto es lo interesante, recibir parámetros de ella. El ejemplo más común de formato contenedor es HTML, que por sí solo es capaz de enviar parámetros a Flash, y que además puede apoyarse en JavaScript cuando estos parámetros son dinámicos.

Por eso, puede ser necesario publicar una misma animación en distintos formatos y por un lado, escribir acciones más concretas en el swf, como variables asociadas a sesiones o a usuarios que han hecho login, y por otro, acciones más genéricas para quien sólo quiera descargarse el proyector y ejecutarlo en local.

La clave de esta distinción está en la variable _root._url que, en tiempo de ejecución, contiene la URL completa de la animación. Sus tres últimos carácteres, por tanto, se corresponderán con la extensión del archivo publicado. Para obtenerlos bastará con hacer un substring:

  1. _root.formato = substring(_root._url, _root._url.length - 2, 3);

Después de esto, _root.formato contendrá la extensión del archivo publicado. Sus posibles valores serán, a priori, swf, exe o hqx, con los que se podrá escribir las condiciones necesarias para distinguir el código referente a un formato u otro. Una forma elegante de hacerlo es la siguiente.

  1. switch (_root.formato) {
  2. case "swf":
  3. // Código que sólo se ejecutará
  4. // cuando la animación se publique en swf
  5. break;
  6. case "exe":
  7. // Código que sólo se ejecutará
  8. // cuando la animación se publique en exe
  9. break;
  10. case "hqx":
  11. // Código que sólo se ejecutará
  12. // cuando la animación se publique en hqx
  13. break;
  14. }

De forma más genérica se podría hacer una condición que distinguiera entre swf y los formatos de proyector:

  1. if (_root.formato == "swf") {
  2. // Código que sólo se ejecutará
  3. // cuando la animación se publique en swf
  4. }
  5. else {
  6. // Código que sólo se ejecutará
  7. // cuando la animación se publique en
  8. // algún formato de Proyector
  9. }



Autor: Joaquín Martí­ García
http://www.7bytes.net

Usuarios que han visto este tema también han visto...

- Publicar varios archivos .fla a la vez con comandos de Flash
- Boton con efecto rollover Zoom y Texto en Flash
- Enderezar y suavizar en Flash
- Activar/Desactivar todos los botones dentro de un clip dado en Flash
- Uso de la herramienta pluma en Flash


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 03-12-2008 a las 20:49:47