Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash _AS3中的root.loadmove()?_Flash_Actionscript 3_Actionscript 2 - Fatal编程技术网

Flash _AS3中的root.loadmove()?

Flash _AS3中的root.loadmove()?,flash,actionscript-3,actionscript-2,Flash,Actionscript 3,Actionscript 2,AS3中以下AS2代码的AS3等价物是什么?我不想把新的swf加载到我的主swf中,我想让它在AS2中完全替换它 _root.loadMovie(swfURL); 没有必要更换。用Loader加载swf,并将其连接到舞台上。您可以删除附加到stage的所有其他显示对象,您会没事的。这可能是两个实际问题: 加载电影 在根阶段加载电影 答复 您可以使用加载器并将其添加到对象或其阶段 将静态引用添加到所需的“根”对象,并将加载程序添加到静态引用 如果您需要示例代码,请告诉我。在AS3中,您不能像在A

AS3中以下AS2代码的AS3等价物是什么?我不想把新的swf加载到我的主swf中,我想让它在AS2中完全替换它

_root.loadMovie(swfURL);

没有必要更换。用
Loader
加载swf,并将其连接到舞台上。您可以删除附加到stage的所有其他
显示对象
,您会没事的。

这可能是两个实际问题:

  • 加载电影
  • 在根阶段加载电影
  • 答复

  • 您可以使用加载器并将其添加到对象或其阶段
  • 将静态引用添加到所需的“根”对象,并将加载程序添加到静态引用

  • 如果您需要示例代码,请告诉我。

    在AS3中,您不能像在AS2中那样替换加载的电影剪辑

    Loader类可以加载要附加到主阶段的内容


    您可能需要创建一个包装器类来加载初始内容,然后在发出另一个加载请求时将该内容切换出去。

    加载swf的示例代码

    var mySwfUrl:String="http://someurlhere.com/swf.swf";
    var loadedSwf:MovieClip = null;// null until loaded
    var loader:Loader=new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE,handlerSwfLoaded);
    loader.load(new URLRequest(mySwfUrl));
    
    function handlerSwfLoaded(event:Event):void{
        loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,handlerSwfLoaded);
        loadedSwf=event.target as MovieClip;
    }
    
    如果要将新swf添加到显示列表中

    holder.addChild( yourSwfReference );
    
    如果你想移除它

    holder.removeChild( yourSwfReference );
    
    如果swf当前显示在某处。。。例如在支架上。。。调用此将从保持器中删除它,并将其添加到另一个保持器中

    anotherHolder.addChild( yourSwfReference );
    

    你不能以你正在尝试的方式替换 无法从所述swf替换根级swf

    你可以使用javaScrit。可以从AS3调用javaScript函数,JS函数可以替换swf


    要在AS3中实现这一点,您可以创建一个main.swf,它除了加载其他内容之外什么都不做。退房它将为您处理内容的加载和卸载。有许多关于Gaia的有用教程。

    如果您将swf文件保存在本地计算机中,请尝试此方法

    var loader:Loader = new Loader();
    loader.load(new URLRequest("external.swf"));
    addChild(loader);
    

    AS3加载AS2 swf会有任何问题吗?请参阅文档,了解如何执行此操作的实际示例代码:(在本例中,swf的工作原理与GIF相同)此外,由于它是AS2 swf,它实际上将作为
    AVM1Movie
    而不是
    MovieClip
    :欧文:加载程序将返回
    AVM1Movie
    。这将有一些限制,但它应该正常运行。但是这与你的问题无关。嗨,谢谢你的回答,我可以看一些将电影加载到根目录的示例代码吗。基本上我想做的是,如果可能的话,把电影完全换成一部新的电影。我该如何处理不同的帧率和尺寸?