*更新并提供问题的链接我参考If I load multiple images with the for loop, do I only need one img.onload function?
我想引入许多图像文件,通过所有图像的数组在画布中使用(这样他们在我需要之前加载),使用在这里找到的解决方案我收到错误
“未捕获的TypeError:无法读取未定义的属性'drawImage'
在图像。 (app.js:32)“第32行是canvasContext [value] .drawImage(images [i],0,0);
显然,我不明白解决方案,因为我对导致这种情况的原因感到茫然
最终结果是我在加载时设置所有图像,然后在我的绘图函数中,声明它们的位置和大小。
window.onload = function() {
console.log(keysDown);
canvas = document.getElementById('myCanvas');
canvasContext = canvas.getContext('2d');
var images = ['Frylock.png', 'Master_Shake.png'];
// Assign onload handler to each image in array
for (var i = 0; i <= images.length; i++) {
var img = new Image();
img.onload = (function(value) {
return function() {
canvasContext[value].drawImage(images[i], 0, 0);
}
})(i);
// IMPORTANT - Assign src last for IE
img.src = './' + images[i];
}