2010-04-08 1 views
7

Мне интересно, есть ли способ, с помощью которого SWF проверять во время выполнения, работает ли он как онлайн-приложение SWF или AIR? Мне нужно использовать один и тот же SWF для запуска как онлайн, так и локально, однако при запуске в качестве приложения AIR внешние ресурсы находятся в другом каталоге. Я хотел бы проверить, является ли SWF локальным или онлайн, поэтому я могу соответствующим образом изменить исходный путь для внешних активов.Как проверить, работает ли SWF в качестве приложения AIR?

Спасибо, Сандро

Edit: я просто понял, что это может быть глупый вопрос. :) Я могу просто использовать flashvars, чтобы сообщить SWF, что он запущен в приложении AIR.

ответ

15

Вы можете использовать класс Capabilities.

import flash.system.Capabilities; 

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

Дополнительная информация от Adobe ActionScript 3 Reference.

+0

Спасибо, это делает то, что мне нужно, и мне не нужно использовать FlashVars. Благодарю. – Sandro