tweenjs版的 setTimeout 与 setInterval API,目的是 createjs.Ticker.paused 可以同步操作 setTimeout/setInterval
要保证 createjs 有 tweenjs 模块。
setTimeout/cleatTimeout/setInterval/clearInterval 都挂载在 createjs 全局对象上。

定制一个 setTimeout 方法,代码如下:

1
2
3
4
5
6
7
8
9
createjs.setTimeout = function(cb, delay) {
var tween = createjs.Tween.get({})
.wait(delay)
.call(function() {
cb && cb();
createjs.clearTimeout(tween);
});
return tween;
}

定制一个 clearTimeout 方法

1
2
3
4
5
6
7
createjs.clearTimeout = function(timeout) { 
// 删除动画
createjs.Tween.removeTweens(timeout.target);
// 删除实例
timeout = undefined;
return true;
}

EX:

1
2
3
4
5
6
7
//创建一个 setTimeout,代码如下:
var sto = createjs.setTimeout(function() {
// to do
}, 3000);

//清除setTimeout
createjs.clearTimeout(sto);

定制一个 setInterval 方法

1
2
3
4
5
6
7
8
9
createjs.setInterval = function(cb, delay) {
var tween = createjs.Tween.get({})
.wait(delay)
.call(function() {
cb && cb();
});
tween.loop = 1;
return tween;
}

定制一个 clearInterval 方法

1
2
3
4
5
6
7
createjs.clearInterval = function(interval) { 
// 删除动画
createjs.Tween.removeTweens(interval.target);
// 删除实例
interval = undefined;
return true;
}

EX:

1
2
3
4
5
6
7
//创建一个 setInterval
var siv = createjs.setInterval(function() {
// to do
}, 1000);

//清除 setInterval
createjs.clearInterval(siv);