【发布时间】:2014-01-10 05:19:20
【问题描述】:
我正在开发一个使用大量图像的 HTML5 游戏。 但是,有时游戏无法正确加载并抛出一些错误消息,提示某些图像未正确加载。 我使用预加载函数,在开始设置图像的 src 之前递增一个变量,并在 onload() 函数中递减它。只有当这个变量达到 0 时,我才开始绘图。有时我(和其他用户)仍然会看到错误并且游戏无法加载。大多数时候它虽然有效。 现在我想知道......从技术上讲,这应该是不可能的。 onload 函数的调用是否保证图像被加载?因为我觉得没有。
这里的代码虽然我不认为这很重要:
var ressourcesToLoad = 1;
// all the loadImage() calls
// ...
ressourceLoaded();
function ressourceLoaded()
{
ressourcesToLoad--;
// if(ressourcesToLoad == 0) start main loop
}
function loadImage(imgFile)
{
ressourcesToLoad++;
var img = new Image();
img.onload = ressourceLoaded();
img.src = imgFile;
return img;
}
【问题讨论】:
-
你在哪里调用
loadImage函数? -
仍然有时我(和其他用户)看到错误并且游戏无法加载 - 这些错误是什么?你能给个网址或小提琴或你的游戏吗
-
@putvande 位于第 3 条评论行
-
你可以尝试使用 $(window).load(function() 吗?这里所有资源都加载完毕,你可以开始你的游戏了
标签: javascript html image