Swiffyアニメーションは、完了時にイベントをトリガーしますか?または、現在のフレームと合計フレームを取得する方法はありますか?
別のStackOverflowの投稿で説明されているように、runtime.jsの縮小を試みましたが、解読できません。
Swiffyアニメーションは、完了時にイベントをトリガーしますか?または、現在のフレームと合計フレームを取得する方法はありますか?
別のStackOverflowの投稿で説明されているように、runtime.jsの縮小を試みましたが、解読できません。
この投稿に出くわした人のために、私は解決策を見つけました。FLAの最後でgetURL()呼び出しを使用することになりました。次のようになります。
getURL("javascript:animationIsComplete();");
必要なものをanimationIsComplete()関数に入れると、Swiffyアニメーションの最後にトリガーされます。
フラッシュタイムラインフレームスクリプト:
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);
}
他の誰かがこの質問に出くわし、ActionScript 3を使用している場合、getURL()関数はActionScript 2以前のバージョンでのみ使用可能であるため、トップアンサーは機能しません。
ActionScript3には以下を使用します。
navigateToURL(new URLRequest("javascript:your_function()"), "_self");
これをアクションとしてFlashのアニメーションの最終フレームに追加し、Swiffyを使用して変換します。次に、Swiffyからの出力を取得して、Webページに組み込むことができます。Swiffyアニメーションを表示するページのソースのどこかにJavaScript関数を定義していることを確認してください。