Estoy tratando de dibujar cientos de imágenes en un lienzo, pero solo cuando hago referencia a la variable de imagen específica. Encontré una función creada por alguien que respondía a otra de estas publicaciones que estaba usando. Era algo así como map = createImage("images/Global/Map.png") y devolvería el valor que pude dibujar así: ctx.drawImage(map, 0, 0, 224, 292) en lugar de tener hacerlo en la función onload. Supongo que lo que intento preguntar es cómo crearía un objeto que me permitiera hacer esto.
Intenté algo en la línea de esto:
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);Gracias por adelantado. Espero que sea un problema simple.
Fui un idiota y no se me debería haber permitido publicar esta pregunta. Estaba tratando de hacer animaciones usando canvas en javascript.
Lo que habría resuelto mi problema (aunque nunca fue un problema para empezar) fue window.requestAnimationFrame(function()) . A medida que seguía animando, tarde o temprano las imágenes se cargaban y se dibujaban. A mis ojos, parecía como si fuera instantáneo, por lo tanto, quería que el programa esperara hasta que todo estuviera cargado.
Nunca hubo un problema para empezar. Ups.