Actionscript 3:动态加载ai文件?

koe*_*eri 5 actionscript-3

是否有可能动态加载矢量文件,在这种情况下,ActionScript 3中的.ai文件?你可以将它们导入舞台,但我想动态地这样做,有没有办法做到这一点?

23t*_*tux -1

当然,

您可以使用 URLLoader 类在运行时加载它:

var _loader:URLLoader;
var request:URLRequest = new URLRequest("http://yourserver.com/graphic.ai");
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.load(request);

    private function completeHandler(e:Event):void {
        var content:DisplayObject = _e.target.content;
        addChild(content);
    }
Run Code Online (Sandbox Code Playgroud)

我没有测试过,但我认为这有效!

  • “_e.target.content”应该是“e.target.data”。我认为您还需要在编译器允许您将其放入 DisplayObject 变量之前对其进行类型转换。也许您正在考虑使用 Loader 而不是 URLLoader?当前的代码将不起作用,因为 Flash 不知道刚刚加载的数据类型(可能是 XML、二进制数据、PNG 等),因此无法将 AI 文件转换为 DisplayObject,因为它不知道加载的数据是一个AI文件。我首先不确定 Flash 是否可以在运行时转换 AI 文件。 (3认同)