如何专门为对象创建“stage.update()”?

时间:2013-10-10 16:40:55

标签: javascript html5 canvas easeljs stage

在我的屏幕上,我有10张图片和6张文字。我知道每次调用“stage.update()”都是重新设计的视图屏幕。

我只有两个需要常量的对象“stage.update()”。第一个是计时器,每秒需要更新一个文本,第二个是可以在屏幕上拖动的图像。

如何专门为对象创建“stage.update()”?


尝试:

  1. 我为一个画布制作了一个“舞台”数组:

    canvas = document.getElementsByTagName ('canvas') [0];
    stage['full'] = new createjs.Stage(canvas);
    stage['chronometer'] = new createjs.Stage(canvas);   
    

    执行时,一个人取消另一个人的问题:

    stage ['full']. update ();
    stage ['chronometer']. update (); 
    
  2. 我尝试创建Container。

    containerTest = new createjs.Container(); 
    stage.addChild(containerTest);  
    

    问题? 无法仅更新容器中的内容。

1 个答案:

答案 0 :(得分:0)

通过自动收报机和计数器,我认为你可以做你的事情:

var counter = 0;
createjs.Ticker.addEventListener("tick", handleTick);
var chronometer = ...
chronometer.cache(xChrono,yChrono,widthChrono,heightChrono);

function handleTick(event) {
   // handle your drag and drop
   // ...
   if (counter == maxValue) { // maxValue = 1000 / createjs.Ticker.getInterval()
       // redraw your chronometer
       // ...
       counter = 0;
       chronometer.updateCache();
   } else {
       counter++;
   }
   stage.update();
}