我正在用 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();
}
非常感谢任何帮助,谢谢!