5

Swiffyアニメーションは、完了時にイベントをトリガーしますか?または、現在のフレームと合計フレームを取得する方法はありますか?

別のStackOverflowの投稿で説明されているように、runtime.jsの縮小を試みましたが、解読できません。

4

3 に答える 3

6

この投稿に出くわした人のために、私は解決策を見つけました。FLAの最後でgetURL()呼び出しを使用することになりました。次のようになります。

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

必要なものをanimationIsComplete()関数に入れると、Swiffyアニメーションの最後にトリガーされます。

于 2012-07-13T21:11:53.387 に答える
2

フラッシュタイムラインフレームスクリプト:

   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以前のバージョンでのみ使用可能であるため、トップアンサーは機能しません。

ActionScript3には以下を使用します。

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

これをアクションとしてFlashのアニメーションの最終フレームに追加し、Swiffyを使用して変換します。次に、Swiffyからの出力を取得して、Webページに組み込むことができます。Swiffyアニメーションを表示するページのソースのどこかにJavaScript関数を定義していることを確認してください。

于 2013-04-16T16:25:18.980 に答える