当我加载一个movieClip
时,是否有一个事件可以让我的Flash动画的其他方面做出反应?我想为movieClipOne加载时添加一个event listener
,这会在我的动作脚本中触发不同的功能(调暗舞台的其余部分)。影片剪辑加载的事件
movieClipOne.addEventListener(Event.NAME, dimFunction);
而且,如果有人能告诉我Event.NAME
为当应用程序最初加载,这将是有帮助了。
当我加载一个movieClip
时,是否有一个事件可以让我的Flash动画的其他方面做出反应?我想为movieClipOne加载时添加一个event listener
,这会在我的动作脚本中触发不同的功能(调暗舞台的其余部分)。影片剪辑加载的事件
movieClipOne.addEventListener(Event.NAME, dimFunction);
而且,如果有人能告诉我Event.NAME
为当应用程序最初加载,这将是有帮助了。
this.addEventListener(Event.ENTER_FRAME,checkLoaded)
function checkLoaded(e:Event){
if(mtERGOlink){
// code reacting to mtERGOlink
this.removeEventListener(Event.ENTER_FRAME,checkLoaded)
}
}
这让我编译并运行项目,如我所愿。我相信它不会使mtERGOlink代码可访问,直到mtERGOlink对象在舞台上可用。
谢谢你的其他答案 - 他们帮助我找到了这个解决方案。
不确定您的意思是“加载”。如果您使用的是Loader object,则需要将事件附加到contentLoaderInfo
这是一个LoaderInfo
对象。
如果您只是在将事件添加到舞台时将其附加到影片剪辑,则可以使用从DisplayObject
继承的addedToStage
事件。有关支持的事件的完整列表,只是检查出约MovieClip
的文档如果使用Loader类来加载影片剪辑,那么你可以将事件侦听器添加到它的contentLoaderInfo属性:
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleComplete);
和你也可以添加一个INIT听众太多:
loader.contentLoaderInfo.addEventListener(Event.INIT, handleInit);
每这些功能
应采取的事件作为其唯一的参数,例如:
function handleComplete(e:Event):void
{
//do something
}
编辑: 鉴于你已经张贴作为你的最终解决方案,我会说,因为你是在时间轴上使用的代码,你可以事件监听器第1帧添加到主权财富基金loaderInfo对象,所以:
this.loaderInfo.addEventListener(Event.COMPLETE, handleComplete);
{
// do something here
}
我不认为检查swf的其他元素的存在是最好的做法,虽然它显然适用于你的情况,并且经过慎重选择/试验和错误它也适用于其他人。