Предполагая, что у нас есть 2 этапа и Ticker.setFPS(30)
, как я могу переопределить тикер для второго этапа, скажем, 15 кадров в секунду?Как переопределить галочку(), чтобы опустить FPS в несколько этапов
// Targeting 30fps
Stage['GUI'] = new createjs.Stage(gui_canvas);
createjs.Ticker.useRAF = true;
createjs.Ticker.setFPS(30);
createjs.Ticker.addEventListener('tick', Stage['GUI']);
// Targeting 15fps
Stage['Background'] = new createjs.Stage(bg_canvas);
/* Overriding ticker goes here */
createjs.Ticker.addEventListener('tick', Stage['Background']);
решается с помощью раствора MARKE в
stage['background'] = new createjs.Stage(bg_canvas);
var delay = 3;
var ticker = function(params){
if(delay===0){
delay = -1;
stage['background'].update();
delay = 3;
}
delay--;
};
createjs.Ticker.addEventListener('tick', ticker);
другое решение для получения целевого FPS
stage['background'] = new createjs.Stage(bg_canvas);
var timestamp = new Date().getTime();
var ticker = function(){
var now = new Date().getTime();
if ((now - timestamp) > (1000/15)){
stage['background'].update();
timestamp = new Date().getTime();
}
};
createjs.Ticker.addEventListener('tick', ticker);
редактировал свой ответ, чтобы обеспечить отдельные обработчики клеща для этапа [ «GUI»] и стадии ['Задний план'] – markE