关于Google Swiffy(http://swiffy.googlelabs.com/)似乎几乎没有支持或讨论。
是否可以有效地从JS暂停/恢复/操作swiffy对象?
使用标准的Google输出,我注意到可以在控制台中找到带有一些属性的swiffyobject。尤其是frameRate。例如可以操纵此属性吗?
最佳答案
对于最新的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.使用其他名称复制此函数,并将start()替换为stop()
myNewFunction(N, function () {
var a = this.Dg;
this.ck(function () {
a.stop()
})
});
myNewFunction(Yj[I], Yj[I].stop);
4.找到包含.start()的函数的声明。就我而言,db。
function db(a, b) {
return a.start = b
}
5,复制此函数并与在stop()中创建的新函数一样调用它,然后将start替换为stop。就我而言,是myNewFunction。
function myNewFunction(a, b) {
return a.stop = b
}
而已。
现在您可以调用我的anim.stop();了。
例如
//create anim
var anim = {swiffy code};
var myAnim = new swiffy.Stage(document.getElementById('animContainer'), anim);
myAnim.start();
//some button click
myButton.on('click',function(){
myAnim.stop();
});