我正在涉足帆布。我有点迷失了一些东西。
我有这个功能:
function preloadimages(arr) {
var newimages = []
var arr = (typeof arr != "object") ? [arr] : arr
for (var i = 0; i < arr.length; i++) {
newimages[i] = new Image()
newimages[i].src = arr[i]
}
}
我这样称呼它:
preloadimages(['images/background.png', 'images/hero.png', 'images/monster.png']);
唯一的问题是,我不知道以后如何再次绘制它们。
如果我在我的 js 中预加载一张图片,我会说:
var bgOk = false;
var bg = new Image();
bg.onload = function () {
bgOk = true;
};
bg.src = "images/background.png";
然后再往下,当我想画它时,我会说:
if (bgOk) {
context.drawImage(bg, 0, 0);
}
就是这样。问题是我已经制作了一个预加载器类,我真的不知道现在如何调用我现在要绘制的图像,甚至不知道如何实现 bgOk 的想法,以便如果它加载正常,我可以绘制它,如果没有,请不要理会它。
有人可以建议我吗?我基本上只是想更多地基于类,而不是我通常使用一个丑陋且不可维护的巨大 javascript 文件的脏乱差。