5

Swiffy 动画完成后会触发事件吗?或者有没有办法获取当前帧与总帧?

如另一篇 Stack Overflow 帖子中所述,我尝试对 runtime.js 进行去最小化,但我无法破译它。

4

3 回答 3

6

对于遇到此帖子的任何人,我都找到了解决方案。我最终在我的 FLA 结束时使用了 getURL() 调用。它看起来像这样:

getURL("javascript:animationIsComplete();");

将您想要的任何内容放入 animationIsComplete() 函数中,现在它将在 Swiffy 动画结束时触发。

于 2012-07-13T21:11:53.387 回答
2

Flash时间线框架脚本:

   import flash.net.navigateToURL;
   import flash.net.URLRequest;

   navigateToURL(new URLRequest("javascript:document.dispatchEvent(new CustomEvent('animation_done', {detail:{name:'sparkle'}}))"), "_self");
   stop();

Javascript:

 document.addEventListener("animation_done", animationDone, false);

 function animationDone(e /* Event */){
     console.log('animation done ' + e.detail.name);
 }
于 2013-05-29T23:07:39.680 回答
0

万一其他人偶然发现了这个问题并且正在使用 ActionScript 3 - 最佳答案对他们不起作用,因为 getURL() 函数仅在 ActionScript 2 和更早版本中可用。

对 ActionScript 3 使用以下内容:

navigateToURL(new URLRequest("javascript:your_function()"), "_self");

将其作为动作添加到 Flash 中动画的最后一帧,然后使用 Swiffy 进行转换。然后,您可以从 Swiffy 获取输出并将其处理到网页中。只需确保在显示 Swiffy 动画的页面源中的某处定义 JavaScript 函数即可。

于 2013-04-16T16:25:18.980 回答