如何在程序 运行 之前创建多个图像并在 image.onload() 函数之外单独绘制它们?
How to create multiple images before a program is run and draw them individually outside of the image.onload() function?
我正在尝试将数百张图像绘制到 canvas 上,但仅当我引用特定图像变量时才这样做。我遇到了一个由某人创建的函数,该函数是对我正在使用的这些帖子中的另一篇做出回应的。它类似于 map = createImage("images/Global/Map.png")
并且它将 return 我能够像这样绘制的值:ctx.drawImage(map, 0, 0, 224, 292)
而不是我必须在 onload 函数中这样做。
我想我想问的是如何创建一个允许我这样做的对象?
我尝试了类似的方法:
const createImage = function(src) {
image = newImage();
image.src = src;
image.onload = function() {
return(image);
}
}
// Other code creating images...
var map = createImage("images/map.png");
// Code to draw map
ctx.drawImage(map, 0, 0, 224, 292);
提前致谢。我希望这是一个简单的问题。
我是个白痴,不应该被允许 post 这个问题。
我试图在 javascript 上使用 canvas 制作动画。
本来可以解决我的问题(虽然它一开始就不是问题)的是 window.requestAnimationFrame(function())
。随着它不断地动画化,迟早会加载并绘制图像。在我看来,它似乎是即时的,因此我希望程序等到所有内容都加载完毕。
一开始就没有问题。哎呀
我正在尝试将数百张图像绘制到 canvas 上,但仅当我引用特定图像变量时才这样做。我遇到了一个由某人创建的函数,该函数是对我正在使用的这些帖子中的另一篇做出回应的。它类似于 map = createImage("images/Global/Map.png")
并且它将 return 我能够像这样绘制的值:ctx.drawImage(map, 0, 0, 224, 292)
而不是我必须在 onload 函数中这样做。
我想我想问的是如何创建一个允许我这样做的对象?
我尝试了类似的方法:
const createImage = function(src) {
image = newImage();
image.src = src;
image.onload = function() {
return(image);
}
}
// Other code creating images...
var map = createImage("images/map.png");
// Code to draw map
ctx.drawImage(map, 0, 0, 224, 292);
提前致谢。我希望这是一个简单的问题。
我是个白痴,不应该被允许 post 这个问题。 我试图在 javascript 上使用 canvas 制作动画。
本来可以解决我的问题(虽然它一开始就不是问题)的是 window.requestAnimationFrame(function())
。随着它不断地动画化,迟早会加载并绘制图像。在我看来,它似乎是即时的,因此我希望程序等到所有内容都加载完毕。
一开始就没有问题。哎呀