2011-08-02 4 views
8

Google Swiffy(http://swiffy.googlelabs.com/)に関するサポートやディスカッションはほとんどないようです。JSからswiffyオブジェクトを一時停止/再開/操作することはできますか?

JSからswiffyオブジェクトを効果的に一時停止/再開/操作することは可能ですか?

標準のGoogle出力を使用して、swiffyオブジェクトがいくつかのプロパティを持つコンソールで見つかる可能性があることに気付きました。特にframeRate。このプロパティは、たとえば操作できますか?

答えて

1

runtime.jsをun-minifiedにすると、私が望む動作を達成することができました。

ライン3312で

(unminified - jsbeautifier.org)

M.start = function (arg) { 
this.T[Qa](); 
if(arg){ 
this.cb.start(arg) 
}else{ 
this.cb.start() 
} 
}; 

そして、ライン3823上:

M.start = function(arg) { 

    if(arg){ 
     console.log(arg); 
     window.clearInterval(window.pauseAnimation) 

    }else{ 
     window.pauseAnimation = window.setInterval(Ob(this.ne, this), 40); 
     if (!this.ie) this.ie = !0, this.ne(), window.pauseAnimation 

    }  

}; 

その後コンソールを使用して、使用してアニメーションを再開/一時停止することが可能である。

stage.start(true) // PAUSE the animation. 
stage.start() // RESUME the animation. 
5

私はフランス語です。) 私はアニメーションSwiffyを適切に処理できるようにするために、 新しいバージョン(5.0)のGoogleコードが変更されているため、ネット上に見つかった小さなハックでアニメーションを作成することができなくなりました... 短所として、解決策を見つけるために力を入れました。 ...(ソースSwiffyではに触れることなく!)実際に この記事のどの部分:swiffy/javascript

はFlashVarsのSwiffyではで回収することができ(AS2とAS3で、それはあまりにも動作するはずです。)

側Javascriptをすることができますこのようなことをしてください:

function playMovie(){ 
    stage.setFlashVars('myresponse=play'); 
    return false; 
    } 
    function stopMovie(){ 
    stage.setFlashVars('myresponse=pause'); 
    return false; 
    } 

とth関数内のフラッシュのe側...:

_root.onEnterFrame = function(){ 
switch(_level0.myresponse){ 
    case 'play': 
     _root.play(); 
     break; 

    case 'pause': 
     _root.stop(); 
     break; 

    default : 
     break; 
} 
_level0.myresponse = undefined; 
} 

それだけです!あなたに は、あなたが望む方法を整理けど...それが動作します。)あなたは後でそれを再利用する場合 は未定義の変数を奪還しなければなりません。)

+0

これにswiffyタグを追加すると、より関連性の高いトラフィックが得られます。 – WEFX

6

を最新Swiffyではリリース(Swiffyではランタイムバージョン5.2 https://www.gstatic.com/swiffy/v5.2/runtime.js)のために、私はこれをしませんでした。

1. sambの投稿に記載されているように、jsbeautifier.orgを使用してください。

2.ファンクションを含む.start()。私の場合は...

db(N, function() { 
    var a = this.Dg; 
    this.ck(function() { 
     a.start() 
    }) 
}); 
db(Yj[I], Yj[I].start); 

3.Duplicateこの機能を別の名前で、そして(スタートを置き換える)ストップで()

myNewFunction(N, function() { 
    var a = this.Dg; 
    this.ck(function() { 
     a.stop() 
    }) 
}); 
myNewFunction(Yj[I], Yj[I].stop); 

4.Findの宣言関数を含む.start()。私の場合、db

function db(a, b) { 
    return a.start = b 
} 

5.Duplicateこの機能とあなたが停止()で作成された新しい機能と同じそれを呼び出すと停止開始を交換してください。私の場合、myNewFunction

これだけです。

これで、anim.stop()を呼び出すことができます。

関連する問題