2010-04-08 16 views
7

Me pregunto si hay una forma de que un SWF verifique en tiempo de ejecución si se está ejecutando como un SWF en línea o una aplicación de AIR. Necesito usar el mismo SWF para ejecutar tanto en línea como localmente; sin embargo, cuando se ejecuta como una aplicación de AIR, los activos externos se ubican en un directorio diferente. Me gustaría comprobar si un SWF es local o en línea, así que puedo cambiar la ruta de origen de los activos externos en consecuencia.¿Cómo verificar si un SWF se está ejecutando como una aplicación de AIR?

Gracias, Sandro

Edit: Me he dado cuenta de que esto podría ser una pregunta tonta. :) Puedo usar flashvars para decirle al SWF que se está ejecutando dentro de una aplicación de AIR.

Respuesta

15

Puede usar la clase Capabilities.

import flash.system.Capabilities; 

switch (Capabilities.playerType) { 
    case 'Desktop': 
     //air runtime 
     break; 
    case 'PlugIn': 
    case 'ActiveX': 
     //browser 
     break; 
} 

Más información en el ActionScript 3 Reference de Adobe.

+0

Gracias, esto hace lo que necesito y no necesito utilizar variables de Flash. Gracias. – Sandro

Cuestiones relacionadas