1

我是新来的。第一次调用动画时效果很好,但我需要稍后在同一页面(网络应用程序)中重用动画。我应该怎么做?

为了隔离问题,我尝试了一些非常基本但不起作用的方法:

<button onclick="stage.start();">Start</button>
<div id="swiffycontainer" style="width: 400px; height: 400px">
</div>
<script>
var stage = new swiffy.Stage(document.getElementById('swiffycontainer'),
                               swiffyobject);
</script>

第一次按下按钮会启动动画 当动画完成时,再次按下不会执行任何操作。

有什么帮助吗?

TIA

4

1 回答 1

3

从内存中,您需要在 Flash 文件中执行一些 gotoandplay 操作,以将动画发送回开始并调用一些标志以使用 stage.setFlashVars('flag=' + value);

然而,更快的解决方案是重新加载 swiffy 对象。使您的 onclick 指向重播功能

   <script>
   var stage;
   var swiffyobject = "....whatever";
   //your initial load goes here
   stage = new swiffy.Stage(document.getElementById('swiffycontainer'), swiffyobject);

    function replay(){
       if(stage)
          stage.destroy();
       stage = new swiffy.Stage(document.getElementById('swiffycontainer'), swiffyobject);
       stage.start();
    }
    </script>

    <button onclick="replay()">Start</button>
于 2013-12-12T12:17:12.860 回答