2014-03-25 132 views
0

为我的英语道歉,我不擅长写作。 我有3 SWF文件:“的main.swf”, “Frame1.swf”, “Frame2.swf”和2个按钮:“上一个”“下一步”中的main.swf的“顶层“需要帮助在Flash AS3中创建“上一个”和“下一个”按钮

当单击Next按钮并卸载”Main.swf“时,需要加载”Frame1.swf“,但是当加载”Frame1.swf“时,”Main.swf“保持循环,并且其低下,它看起来像垃圾邮件的CPU内存使用...我应该用什么编码来解决它?

我也尽我所能来解决,但失败(请按以下链接:How to load swf file by clicking Next button 和:How to remove previous swf when enter new swf (AS3)......? 和谷歌有很多链接)。 我猜是因为上次swf文件的内存在输入另一个swf时没有完全删除,新的swf只是在顶部替换并继续播放。

当新的瑞士法郎加载时,它的顶部,所以我的“上一个”和“下一步”按钮不见了。我想我应该加载swf到一个MovieClip,但我不知道如何去做。

我尝试使用fscommand将代码添加到“退出”按钮,但没有发生任何事情。

感谢您的帮助。

回答

0

切换SWF ...呃,这不完全是超级漂亮,但你可以尝试加载所有外部电影的开始,只是停止和隐藏他们,如果你不需要他们。点击下一步会做类似

frame1.alpha = 0; 
frame2.alpha = 1; 
frame1.stop(); 
frame2.play(); 

这样你只需要加载它们一次,而不必担心重新加载它们。

为了防止内存/ CPU使用率过高,同时保持现有方式,请尝试调试您的代码。一个简单的方法就是尝试跟踪SWF中的事情,看看它们是否被正确删除。

您可以使用您的MC.setChildIndex(num)更改movieclip的深度; 0低于其他所有值,numChildren-1是最重要的。

您可以使用var clip添加一个空的movieclip:MovieClip = new MovieClip();然后使用clip.addChild(yourChildClip)添加子影片剪辑;您也可以将它们添加到使用Flash创作工具创建的动画片段中(如果使用的话)。

希望有所帮助。

+0

非常感谢。我试图加载一个Frame1.swf到MovieClip,但是当它加载时,它继续播放(thisMovieClip.stop()不工作)。我尝试stopAll(),gotoAndStop(),但没有任何东西。 'var thisMovieClip:MovieClip; var thisLoader:Loader = new Loader(); thisLoader.contentLoaderInfo.addEventListener(Event.INIT,doneLoading); thisLoader.load(new URLRequest(“Frame1.swf”)); 函数doneLoading(evt:Event):void { thisMovieClip = MovieClip(thisLoader.content); stage.addChild(thisMovieClip); thisMovieClip。停止(); }' – user3460336

+0

我发现这个:** http://stackoverflow.com/questions/11035344/movieclip-not-stopping-always-looping**并尽我所能......但没有发生。我可以加载一个SWF到MovieClip,但我无法卸载以前的SWF。它仍然在后台运行.... – user3460336

+0

我认为有2种方法: **第一**:将所有外部swf加载到一个MovieClip并停止它们,当点击按钮时,swf将被播放 ** Second **:当我点击按钮时,新的swf将被加载并卸载前一个swf。 我真的不知道我该怎么做...... – user3460336

相关问题