Le préchargement des images en Javascript? Sans jQuery

Il y a plusieurs questions à ce sujet dans le forum, mais je ne pouvais pas obtenir une bonne réponse pour ce dont j'ai besoin.

Je suis en Canvas et Javascript, et je tiens à précharger les images dès que le jeu s'ouvre. J'ai fait un exemple de la méthode que j'ai voulu construire (et ne fonctionne pas)

J'ai 3 fichiers:
"main.html" là où la toile (il y a un seul dans cet exemple) est déclarée et j'essaie de charger une image, "ImagePreloader.js" là où je précharger toutes les images et les "Variables.js" où j'ai mes variables.

Quelqu'un pourrait-il m'aider avec cette image de préchargement metod, ou me suggérer une solution viable? Je pense que l'image ne se charge pas parce que je ne suis pas à l'aide d'un onLoad() fonction que je ne comprenais pas dans les tutoriels, j'ai lu jusqu'à présent (je sais pas comment l'appliquer à une image, mais pas à un tableau d'images)

main.html:

<!DOCTYPE HTML>
<html>
  <body>
    <canvas id="myCanvas" width="800" height="600"></canvas>

    <script type="text/javascript" src="Variables.js"></script>
    <script type="text/javascript" src="ImagePreloader.js"></script>
    <script>
    //Basic canvas info
    var canvas = document.getElementById('myCanvas');
    var context = canvas.getContext('2d');

    //Draw one of the images. Somehow it doesn't work :(
    context.drawImage(imageArray[3], x, y, width, height);
    </script>
  </body>
</html>

ImagePreloader.js

//This should preload the images in imageArray[i] with 0 <= i <= 5 ... right?
function preloader() 
 {
     for(var i=0; i<5; i++) 
     {
          imageArray[i].src=images[i];
     }
 } 

Variables.js

//array of sources of my images
images = new Array();
images[0]="img1.jpg"
images[1]="img2.jpg"
images[2]="img3.jpg"
images[3]="img4.jpg"
images[4]="img5.jpg"

//Stuff to draw the image
var x = 50;
var y = 50;
var width = 256;
var height = 256;

//Is this actually an array of images?
imageArray = new Image();

Merci d'avance!

OriginalL'auteur CookieGuy | 2013-07-03