views:

148

answers:

1

Hi,

I'm wondering if there is a way for a SWF to check at runtime whether it is running as an online SWF or an AIR app? I need to use the same SWF to run both online and locally, however when running as an AIR app, external assets are located in a different directory. I'd like to check whether a SWF is local or online so I can change the source path for external assets accordingly.

Thanks, Sandro

Edit: I just realized this might be a dumb question. :) I may just use flashvars to tell the SWF that it is running within an AIR app.

+2  A: 

You can use the Capabilities class.

import flash.system.Capabilities;

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

Further information from Adobe's ActionScript 3 Reference.

MrKishi
Thanks, this does what I need and I don't need to use FlashVars. Thanks.
Sandro