Необходимость загрузки локального SWF-файла в приложение Adobe AIR с использованием класса Htmlloader, поскольку в локальном SWF-файле используются такие классы, как ExternalInterface, для которого требуется веб-набор. Структура каталогов выглядит следующим образом:
HelloWorld
├── HelloWorld-app.xml
├── HelloWorld.as
├── HelloWorld.swf
└── LocalSWF.swf
HelloWorld.as
package {
import flash.display.Sprite;
import flash.html.HTMLLoader;
import flash.net.URLRequest;
import flash.filesystem.File;
import flash.display.Loader;
public class HelloWorld extends Sprite
{
public function HelloWorld()
{
var html:HTMLLoader = new HTMLLoader();
var urlReq:URLRequest = new URLRequest("LocalSWF.swf");
html.width = stage.stageWidth;
html.height = stage.stageHeight;
html.load(urlReq);
}
}
}
HelloWorld-app. xml
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/3.1">
<id>HelloWorld</id>
<versionNumber>0.1</versionNumber>
<filename>HelloWorld</filename>
<initialWindow>
<content>HelloWorld.swf</content>
<visible>true</visible>
<width>1000</width>
<height>1000</height>
</initialWindow>
</application>
Компиляция ActionScript для файла swf с помощью этой команды
~/flex_sdk_4.6/bin/amxmlc HelloWorld.as
и файл HelloWorld.swf создаются.
Запускается ~/flex_sdk_4.6/bin/adl HelloWorld-app.xml
и в приложении ничего не отображается.
Мы даже можем использовать html или xml вместо ActionScript требуется только загрузить локальный SWF-файл с помощью Htmlloader.