首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载外部SWF时出现意外的__Preloader__

加载外部SWF时出现意外的__Preloader__
EN

Stack Overflow用户
提问于 2011-11-28 20:29:35
回答 3查看 543关注 0票数 0

我有两个文件: Main.swf和DataEnter.swf。每个类都有一个文档类。我试图在DataEnter.swf中加载Main.swf。

Main.as

代码语言:javascript
复制
package
{
    import flash.events.*;
    import flash.display.MovieClip;
    import flash.net.URLRequest;
    import flash.net.URLLoader;
    import flash.display.Loader;

    public class Main extends MovieClip
    {    
        public function Main()
        {
            var loader: Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, DataEnter_loadComplete);
            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onError);
            loader.load(new URLRequest('DataEnter.swf'));
        }       

        function DataEnter_loadComplete(evt: Event):void
        {   
            trace(evt.target.content); // DataEnter__Preloader__                    
        var SWF = evt.target.content;   
        SWF.FooBar(); //Error #1069: Property FooBar not found on DataEnter__Preloader__ and there is no default value                      
        }
    }
}

DataEnter.as

代码语言:javascript
复制
package
{
    import flash.display.Sprite;

    public class DataEnter extends Sprite
    {
       private var _socketWorker:Foo;

       public function setSocketWorker(sw:Foo)
       {
           _socketWorker = sw;
       }

       public function FooBar()
       {
           //do something
       }
    }
}

当主类中发生Loader的事件Event.COMPLETE时,evt.target.content包含对象evt.target.content但它一定是"DataEnter“。

怎么啦?如何调用加载类的方法FooBar?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-06 11:32:30

我在FlashDevelopIDE.开了DataEnter.swf这表明我的文件有两个框架,但是FlashIDE只有一个框架。

在DocumentClass of DataEnter中,我包含了一个类"Foo",它可以处理套接字。但是,这个类的对象传入构造函数。

当我删除类"Foo“并再次发布文件时,在加载swf文件时,*DataEnter_Preloader_*就消失了,预期的DataEnter出现了。

抱歉,英语不好

票数 1
EN

Stack Overflow用户

发布于 2011-11-28 20:36:55

您是否在扩展ActionScript设置面板的运行时共享库部分中使用预加载器选项?

票数 1
EN

Stack Overflow用户

发布于 2012-01-02 18:24:33

我也遇到了这个问题。回溯之后,结果是在数据swf中添加了一个嵌入式字体,从而导致了这种情况。

我建议从DataEnter.FLA中删除任何嵌入式字体,并重新发布SWF,以使其正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8301902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档