首页 > 解决方案 > 如何修复未在 createjs 中的画布上显示的预加载资产?

问题描述

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

我试图玩弄我试图显示的位图的坐标,以防它显示在可见区域之外。我也试过检查更新阶段的时机是否有问题,但没有运气。任何帮助,将不胜感激。

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();
}

标签: javascriptanimationcreatejseaseljspreload

解决方案


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

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();
};

推荐阅读