当movieClip
加载我可以让我的flash电影的其他方面做出反应时是否有事件?我想在movieClipOne加载时添加一个event listener
,它可以在我的动作脚本中触发不同的功能(使舞台的其余部分变暗)。
movieClipOne.addEventListener(Event.NAME, dimFunction);
此外,如果有人可以告诉我应用程序最初加载时的Event.NAME
,那也会有帮助。
答案 0 :(得分:1)
不确定“装载”是什么意思。如果您使用Loader object,则需要将事件附加到contentLoaderInfo
LoaderInfo
对象。
如果您只是在将某个事件添加到舞台时尝试将其附加到影片剪辑,则可以使用从addedToStage
继承的DisplayObject
事件。有关支持的事件的完整列表,请查看有关MovieClip
答案 1 :(得分:1)
如果您使用Loader类加载MovieClip,则可以将事件侦听器添加到其contentLoaderInfo属性中:
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleComplete);
你也可以添加一个INIT监听器:
loader.contentLoaderInfo.addEventListener(Event.INIT, handleInit);
每个函数都应将Event作为其唯一参数,例如:
function handleComplete(e:Event):void
{
//do something
}
编辑: 鉴于你发布的最终解决方案,我会说因为你在时间轴上使用代码,你可以将事件监听器添加到swfs loaderInfo对象,所以在第1帧:
this.loaderInfo.addEventListener(Event.COMPLETE, handleComplete);
{
// do something here
}
我认为检查swf的某些其他元素是否存在是最好的做法,虽然它显然适用于您的情况,并且仔细选择/反复试验也适用于其他人。
答案 2 :(得分:0)
this.addEventListener(Event.ENTER_FRAME,checkLoaded)
function checkLoaded(e:Event){
if(mtERGOlink){
// code reacting to mtERGOlink
this.removeEventListener(Event.ENTER_FRAME,checkLoaded)
}
}
这允许我根据需要编译和运行项目。我相信,在mtERGOlink对象在舞台上可用之前,它不会使mtERGOlink代码可访问。
感谢您提供其他答案 - 他们帮助我找到了解决方案。