Хотя это может показаться не интуитивно понятным, это похоже на проблему безопасности.Когда контент AS2 загружает другой контент AS2, он должен находиться в той же изолированной программной среде безопасности, чтобы они могли работать.
Я создал быстрый пример просто для проверки этой теории, и я был прав.Причина, по которой он работает во Flash, заключается в том, что контент AS2 находится в той же песочнице, что и загружаемый контент.Но безопасность AIR отличается.Поэтому, когда вы загружаете контент AS2 в AIR (используя предоставленную вами логику), загрузчик помещается в изолированную программную среду приложения.Песочница теперь отличается от содержимого, которое она загружает, поэтому она отказывается загружать их.Это объясняет, почему это работает при использовании обертки HTML.Когда HTML-файл загружает SWF-файл, он, вероятно, помещается в изолированную программную среду с локальной сетью, которая совпадает с содержимым.
Итак ... Как это исправить? Вы можете попытаться загрузить свой контент в другую изолированную программную среду безопасности.Но на самом деле проблема в том, что безопасность AS3 не очень хорошо сочетается с безопасностью AS2.Мое предложение было бы создать приложение AIR без оболочки AS3.Вы не можете сделать это непосредственно в инструменте, но вы должны быть в состоянии использовать упаковщик ADT, чтобы сделать это.В дескрипторе xml сделайте исходное содержимое swf AS2 и упакуйте его вместе.Теперь, когда вы запускаете приложение AIR, оно использует swf AS2 в качестве основного приложения.Внезапно все ваши файлы должны оказаться в одной изолированной программной среде безопасности, и Flash не помешает запуску любого содержимого.
Вы можете проверить это локально, используя ADL для запуска приложения вместо запуска его непосредственно из FlashПрофессиональный или Flash Builder.(Они оба используют ADL, но если вы вызываете его напрямую, у вас больше контроля над используемыми аргументами.)
РЕДАКТИРОВАТЬ: Очевидно, вы не можете использовать SWF-файл AS2 в качестве основного SWF дляНастольные приложения AIR.(Я тестировал использование ADL на настольном компьютере, и он работает, но мне сказали, что вы не сможете установить приложение AIR на настольном компьютере с этой настройкой.) Так что для настольного компьютера вы, вероятно, захотите использовать обходной путь HTML. Это поддерживается в AIR for TV , поэтому это будет работать на этих устройствах.