我试图在画布中使用它们之前加载一些图像。我创建了一个等待' onload'然后运行主循环,但有时它不起作用......
这里是代码:
var imagesSrc = ['paris.jpg','Paris','shanghai5.jpg','Shangai','beijing.jpg','Beijing','brslondon.jpg','London','madrid.jpg','Madrid','luxembourg.jpg','Luxembourg','dubai.jpg','Dubai','geneve.jpg','Geneva','sino.jpg','Shanghai','swaar.jpg','Mumbai','singapore2.jpg','Singapore','hongkong.jpg','Hong Kong'];
for (var i = imagesSrc.length - 1; i >= 0; i-=2) {
var image = new Image();
image.name = imagesSrc[i];
image.onload = function()
{
load++;
if(load >= imagesSrc.length*0.5){
ImageGenerator(game , 6000);
}
}
image.src = 'assets/images/illus/'+imagesSrc[i-1];
game.images.push(image);
}
对我来说很好......
有人能帮助我吗?
THX!
答案 0 :(得分:1)
尝试这样做:
function imgTest(){
var imagesSrc = ['paris.jpg','Paris','shanghai5.jpg','Shangai','beijing.jpg','Beijing','brslondon.jpg','London','madrid.jpg','Madrid','luxembourg.jpg','Luxembourg','dubai.jpg','Dubai','geneve.jpg','Geneva','sino.jpg','Shanghai','swaar.jpg','Mumbai','singapore2.jpg','Singapore','hongkong.jpg','Hong Kong'];
for (var i = imagesSrc.length - 1; i >= 0; i-=2) {
var image = new Image();
image.name = imagesSrc[i];
image.onload = function()
{
load++;
if(load >= imagesSrc.length*0.5){
ImageGenerator(game , 6000);
}
}
image.src = 'assets/images/illus/'+imagesSrc[i-1];
game.images.push(image);
}
}
并称之为:
window.onload=imgTest;