2011-09-10 38 views
0

我有一个SWF文件,我使用Adobe Flash Professional CS5.5创建的,它是一些带有音频的鸟类的基本动画,意思是每5秒回复一次,但由于某些原因后它开始播放第二个循环,它在中途停止并从头开始重新播放视频。谁能帮我解决这个问题吗?SWF文件在第二次循环后停止

这是我的动作:

stop(); 
setInterval(wait, 10000); 
function wait(){ 
    gotoAndPlay(1); 
} 

这是我javascipt的嵌入HTML页面上的影片:

<script type="text/javascript" src="/js/swfobject.js"></script> 
<script type="text/javascript"> 
    var flashvars = {}; 
    var params = {}; 
    params.wmode = "transparent"; 
    var attributes = {}; 
    swfobject.embedSWF("/js/birdmovie.swf", "myAlternative", "290", "163", "9.0.0", "/js/expressInstall.swf", flashvars, params, attributes); 
</script> 
+0

ActionScript中的框架是什么? – NebulaFox

+0

在最后一帧 – Reina

回答

4

,因为它会无限期地重复,特别是如果不使用setInterval您在循环结束时不断创建间隔。使用setTimeout来代替:

stop(); 
setTimeout(wait, 5000); 
function wait(){ 
    gotoAndPlay(1); 
} 
+0

完美谢谢! – Reina

3

因此获得到最后,停止,等待10秒钟,然后又回到了开始,但它播放时,它仍然计数10秒钟,其中将循环。

所以基本上使用

setTimeout(wait, 10000); 

而不是

setInterval(wait, 10000); 
+0

非常感谢! – Reina

2

我会建议命名您的setInterval,并确保你清楚它第一次开始之前,否则你可能会得到一些不必要的混乱循环有。

stop(); 
clearInterval(my_interval); 
my_interval = setInterval(wait, 10000); 
function wait(){ 
    gotoAndPlay(1); 
} 

这样,它会一直清除任何以前的时间间隔,当它再次转到第一帧时,避免多个间隔。

相关问题