Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.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
Apache flex FLex:在SWFLoader中卸载swf文件_Apache Flex_Flex3_Flash_Swfloader - Fatal编程技术网

Apache flex FLex:在SWFLoader中卸载swf文件

Apache flex FLex:在SWFLoader中卸载swf文件,apache-flex,flex3,flash,swfloader,Apache Flex,Flex3,Flash,Swfloader,在Flex 3中,我有一个SWFLoader: <mx:SWFLoader id="player" source="http://youtube.com/v/..." /> 这意味着什么?如何避免 UPD:AIR 2没有这个问题可以试试Loader类吗?我不确定它是否有用,但我通过ActionScript完成所有加载。一般来说,我在ActionScript中做“重量级”编程/逻辑/控制的工作,并将Flex留给更简单的布局代码。也就是说,flex将事情放在适当的位置,actionsc

在Flex 3中,我有一个SWFLoader:

<mx:SWFLoader id="player" source="http://youtube.com/v/..." />
这意味着什么?如何避免


UPD:AIR 2没有这个问题

可以试试Loader类吗?我不确定它是否有用,但我通过ActionScript完成所有加载。一般来说,我在ActionScript中做“重量级”编程/逻辑/控制的工作,并将Flex留给更简单的布局代码。也就是说,flex将事情放在适当的位置,actionscript控制一切。在Flex 3项目中加载剪辑时,我有如下控制代码:

import flash.display.Loader;

private var loader:Loader;
public function init() {
    loader = new Loader();              
    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadFailed);
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadCompleted);
}
对以下内容的调用:

//here, pop returns a string like "/path/to/movie.swf"
loader.load(new URLRequest(clipsToPlay.pop())); 
...
loader.unload();
包含在以下函数中:

    private function loadNextClip():void {
        if(clipsToPlay.length == 0) {
           dispatchEvent(new PlayBackCompleteEvent(PlaybackCompleteEvent.ALL));
           return;
        }
        loader.load(new URLRequest(clipsToPlay.pop()));
    }

    private function loadCompleted(event:Event):void {
        currentClip = event.target.content as MovieClip;
        loader.unload();
        displayClip();
    }

    private function displayClip():void {
        applyEffects();
        currentClip.addEventListener(Event.ENTER_FRAME, monitorForCompletion);
        addChild(currentClip);          
    }
我不确定是否可以使用Loader代替SWFLoader,但如果可以,我希望这能在某种程度上帮助您或其他人

编辑:

我只是查了一下,mx.controls.SWFLoader和flash.display.Loader的功能非常相似。我会尝试使用上面规定的Loader,看看它是否能解决问题。您可能也可以通过MXML初始化加载程序,但我不推荐使用它,因为它不是一个可视化组件,我认为最好让MXML处理可视化的东西,而ActionScript处理逻辑的东西。

也许可以尝试使用loader类?我不确定它是否有用,但我通过ActionScript完成所有加载。一般来说,我在ActionScript中做“重量级”编程/逻辑/控制的工作,并将Flex留给更简单的布局代码。也就是说,flex将事情放在适当的位置,actionscript控制一切。在Flex 3项目中加载剪辑时,我有如下控制代码:

import flash.display.Loader;

private var loader:Loader;
public function init() {
    loader = new Loader();              
    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadFailed);
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadCompleted);
}
对以下内容的调用:

//here, pop returns a string like "/path/to/movie.swf"
loader.load(new URLRequest(clipsToPlay.pop())); 
...
loader.unload();
包含在以下函数中:

    private function loadNextClip():void {
        if(clipsToPlay.length == 0) {
           dispatchEvent(new PlayBackCompleteEvent(PlaybackCompleteEvent.ALL));
           return;
        }
        loader.load(new URLRequest(clipsToPlay.pop()));
    }

    private function loadCompleted(event:Event):void {
        currentClip = event.target.content as MovieClip;
        loader.unload();
        displayClip();
    }

    private function displayClip():void {
        applyEffects();
        currentClip.addEventListener(Event.ENTER_FRAME, monitorForCompletion);
        addChild(currentClip);          
    }
我不确定是否可以使用Loader代替SWFLoader,但如果可以,我希望这能在某种程度上帮助您或其他人

编辑:
我只是查了一下,mx.controls.SWFLoader和flash.display.Loader的功能非常相似。我会尝试使用上面规定的Loader,看看它是否能解决问题。您可能也可以通过MXML初始化加载程序,但我不推荐使用它,因为它不是一个可视化组件,我认为最好让MXML处理可视化的事情,而ActionScript处理逻辑的事情