Il caricamento delle immagini è asincrono rispetto alla dichiarazione dell'array. Devi assegnare una funzione di onload a ogni immagine che crei, la quale incrementi un contatore a ogni chiamata e che faccia scattare la funzione successiva (drawScreen()) appena il contatore delle immagini caricate raggiunge il numero degli elementi dell'array. Qualcosa come:
e poi nel tuo codice fai così:codice:var contatore = 0; function tuaFunzione () { if (contatore++ === img.length - 1) { drawScreen(); } }
devi inoltre rendere l'array img globale e rimuovere la chiamata drawScreen() dalla tua funzione.codice:img[i] = new Image(); var imgName = "immagine" + i + ".jpg"; img[i].onload = tuaFunzione; img[i].src = imgName;
![]()