Actionscript 3 as3 totalFrames返回1
我正在尝试加载一个动画。Actionscript 3 as3 totalFrames返回1,actionscript-3,flash,frames,Actionscript 3,Flash,Frames,我正在尝试加载一个动画。 我想知道动画的结尾,并在循环中避免它 var myLoader:Loader = new Loader( ); var myLoaderReq:URLRequest = new URLRequest("anim.swf"); myLoader.load(myLoaderReq); addEventListener(Event.ENTER_FRAME , enterFrameListener ); addChild(myLoader); myLoader.x = 10;
我想知道动画的结尾,并在循环中避免它
var myLoader:Loader = new Loader( );
var myLoaderReq:URLRequest = new URLRequest("anim.swf");
myLoader.load(myLoaderReq);
addEventListener(Event.ENTER_FRAME , enterFrameListener );
addChild(myLoader);
myLoader.x = 10;
myLoader.y = 20;
function enterFrameListener(event:Event):void
{
var mc:MovieClip = event.currentTarget as MovieClip;
trace(mc.currentFrame);
if( mc.currentFrame == mc.totalFrames )
{
mc.removeEventListener(Event.ENTER_FRAME , enterFrameListener );
trace("end of movie reached");
}
}
对于测试,我使用从下载的swf
有什么办法吗
thnx您正在使用的当前目标是指
addEventListener(Event.ENTER_FRAME , enterFrameListener );
这应该是您的主时间线,如果您再添加一个帧,那么应该返回2个totalFrames
正如对上述内容的不满,只需替换:
var mc:MovieClip = event.currentTarget as MovieClip;
借
您还必须确认您正在尝试操纵anim.swf的主时间线。
mc
在您的enterFrameListener中,将引用您发布的代码范围。您要检查的是加载的电影剪辑的currentFrame和totalFrames,可能是myLoader.content.totalFrames
ya,这是正确的。当我尝试myLoder.content.totalframes时,它的GR大于25,thnx
var mc:MovieClip = myLoader.content as MovieClip;