據我所知,我有兩種方法來控制畫布重繪,所以當沒有任何動畫時它們不會簡單地運行。createjs優化畫布重繪
設置,檢查條件的功能:
createjs.Ticker.addEventListener("tick", tick);
var redrawOn = false;
function tick(event) {
if (redrawOn) {
stage.update(event);
}
}
或者聽一個Tween對象的「變化」事件和重繪在該事件的階段:
var myTween = createjs.Tween.get(resetButton).to({'alpha': 1}, 500);
myTween.on('change', function(){
stage.update();
});
他們都似乎乏味,但第二個似乎更容易。比另一個更高效嗎?如果第二個是,是否有辦法簡單地擴展Tween類來總是這樣做?爲什麼不會這樣呢?
編輯:基本上我試圖避免這樣做:
createjs.Ticker.addEventListener("tick", stage);
因爲我看過它的壞。所以,我有幾個應用程序使用這個,現在我試圖打開和關閉重繪剔刻過程中,它成爲一個真正的混亂......由於交互性,一些功能正在測量剔 - >重繪關閉其他動畫沒有完成。這是一場噩夢。
我會盡量使用你的建議。感謝您的幫助! –