【问题标题】:unloadAndStop problem with EZFLAR/webcamEZFLAR/网络摄像头的 unloadAndStop 问题
【发布时间】:2011-08-16 14:30:43
【问题描述】:

我正在用 EZFLAR 和 Flash 制作一本书/杂志,但我需要很多标记(它们越多,FLARToolkit 就越无法区分它们),所以现在我正在尝试一种不同的方法:只需三个标记,然后加载一个不同的 SWF,为每个标记触发不同的操作。

为此,我制作了一个 loader.swf,它将负责根据用户单击的内容加载任何特定的 swf。我从我的第一个按钮开始,它加载正常,只是它有两个问题。

第一个问题,不是那么重要,是我似乎无法在网络摄像头流上添加任何内容,甚至没有将其放在 EZLFAR.fla 上,网络摄像头总是覆盖所有内容。然后,我决定在可以放置 UI 的地方添加一点边距(可能是后退按钮或其他 swf 加载器)。

第二个问题发生了,我无法让 unload() 和 unloadAndStop() 工作。我在函数中放置了一个跟踪,以查看它是否在点击时进入,它确实如此,但它只是没有卸载网络摄像头 swf。此外,如果我将侦听器添加到网络摄像头 swf,它不会检测到点击。

这是我的代码:

import flash.display.Loader
import flash.net.URLRequest
import flash.events.Event

var myLoader:Loader = new Loader(); 

rptr.addEventListener (MouseEvent.CLICK, raptorLoad);

function raptorLoad (e:MouseEvent):void 
{
    var url:URLRequest = new URLRequest("rptr.swf"); 
    myLoader.load(url); 
    addChild(myLoader);
}

myLoader.addEventListener(MouseEvent.CLICK, unLoad);

function unLoad (event:MouseEvent):void 
{
    trace("click!");
    myLoader.unloadAndStop();
}

非常感谢任何帮助,谢谢!

【问题讨论】:

    标签: flash actionscript-3 flash-cs5 loader flartoolkit


    【解决方案1】:

    Loader.unload() 不会破坏加载的内容,它只是将其从 Loader 实例的显示列表中删除。您需要手动销毁内容。查看Loader.unload documentation 了解更多信息。

    您在相机上方加载内容的另一个问题...没有看到更多代码,很难判断问题可能是什么。我建议也许向您的加载程序添加一个事件侦听器。等到加载完成后再添加。

    【讨论】:

    • 我的意思不是在流上方加载一些东西。我的意思是,例如,我放置在画布上的文本被相机流覆盖,在这种情况下我该如何管理图层?另外,unloadAndStop 不应该摆脱一切吗?
    • unloadAndStop 尝试删除加载的 swf 中的引用并使内容可用于垃圾回收。当您调用它时,您是否收到任何错误,或者它只是表现得好像它不起作用?分层问题可以通过使用 setChildIndex 来解决...假设它们都在同一个显示列表中。
    • 没有错误,只是没有任何反应。就像我没有点击加载的 swf 一样。
    • 另外,我试过这个:myLoader.x = 200;在 addChild() 之前它没有工作,myLoader 加载在 0,0
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2011-02-02
    • 2013-03-22
    • 1970-01-01
    相关资源
    最近更新 更多