如何修复createjs中未显示在画布上的预加载资产?

时间:2019-04-07 02:33:12

标签: javascript animation createjs easeljs preload

我正在尝试通过将背景设置为画布来创建动画,然后尝试在背景图像上移动资源。我可以在画布上显示背景图像,也可以预加载我的所有资产。但是,我无法在画布上显示任何资产。

我尝试使用要显示的位图的坐标,以防它显示在可见区域之外。我还尝试检查更新舞台的时间是否有问题,但是没有运气。任何帮助将不胜感激。

function set()
{
    var cgroup = new createjs.Container();

    cgroup.x = 100;
    cgroup.y = 100;


    // var path = 'img/cloud1.png';
    var img = preload.getResult("c1");
    console.log(img.src);  //displaying correct preloaded file
    var cloud1 = new createjs.Bitmap(img);
    cgroup.addChild(cloud1);
    cloud1.x = 120;
    cloud1.y = 120;
    cloud1.regX = 62;
    cloud1.regY = 62;

    stage.addChild(cgroup);
    stage.update();
}

2 个答案:

答案 0 :(得分:1)

您需要调用该函数以使其运行。例如,这将用于页面加载时。

window.onload() = function(){
  var cgroup = new createjs.Container();

  cgroup.x = 100;
  cgroup.y = 100;

  // var path = 'img/cloud1.png';
  var img = preload.getResult("c1");
  console.log(img.src); //displaying correct preloaded file
  var cloud1 = new createjs.Bitmap(img);
  cgroup.addChild(cloud1);
  cloud1.x = 120;
  cloud1.y = 120;
  cloud1.regX = 62;
  cloud1.regY = 62;

  stage.addChild(cgroup);
  stage.update();
};

答案 1 :(得分:0)

事实证明,我正在使用上下文,并且使用drawImage显示了背景图像,然后当我向舞台添加另一个图像时,画布仅在舞台上显示了第二幅图像,因此清除了第一幅图像。