[英]gotoAndPlay not working for externally loaded SWF
我有一个外部SWF,它是角色动画。 我成功加载了它并将其存储在MovieClip变量中,并将其添加到舞台上。 它从第0帧开始播放,并且一切正常,但是我无法启动gotoAndPlay或gotoAndStop。 我可以找出MovieClip的currentFrame,因此可以访问时间线。 使用gotoAndPlay或gotoAndStop时,我没有看到任何Flash错误,只是对MovieClip不做任何事情。
我无所适从,但为什么一切都会起作用。 任何提示,不胜感激。
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, LoaderComplete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, LoaderError);
loader.load(new URLRequest("file.swf");
private function LoaderComplete(e:Event):void
{
var character:MovieClip = e.target.content as MovieClip;
stage.addChild(character);
character.gotoAndStop(10);
}
我认为所加载的swf文件的主要时间轴不是您的角色,这就是为什么始终获取currentFrame 1
。
//This line of code, gives you reference on main timeline
var mainTimeline:MovieClip = e.target.content as MovieClip;
//Check if there is character
//If I'm correct, numChildren will return 1 or more
trace(mainTimeline.numChildren);
//If yes, access character animation
//Like this:
var char: MovieClip = mainTimeline.getChildAt(0) as MovieClip;
char.gotoAndStop(10);
可能是您将其添加到舞台上的那一刻,它不知道具有多个框架。 尝试侦听add_to_stage事件,然后转到框架,例如:
private function LoaderComplete(e:Event):void
{
var character:MovieClip = e.target.content as MovieClip;
stage.addChild(character);
character.addEventListener(Event.ADDED_TO_STAGE, gotoTheFrame);
}
private function gotoTheFrame(e:Event){
var target:MovieClip = MovieClip(e.target);
target.gotoAndStop(10);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.