参考错误:' Variable_Name'未定义 - HTML5画布图像

时间:2015-11-18 18:33:36

标签: javascript html5 canvas

背景:对于大学项目,我的任务是创建一个Flappy Bird克隆。最初它工作正常,然后当我开始添加更多图像时,他们停止在Chrome中加载。 Firefox很好(除非我重新加载,但每次后续重新加载都很好)。

我正在制作一个新的' Sprite'对于每个图像和该sprite对象的初始化器,我将创建一个Image对象并分配src。我终于意识到这就是问题,所以我重新安排了我的结构:

var ent_player_img = new Image();

ent_player_img.onload = function()
{
    window.ent_player = new Sprite(ent_player_img);
};

ent_player_img.src = "../images/ent_player.png";

我会将ent_player.img分配给构造函数中的新Image对象。但是,这在我的游戏循环中引发了参考错误。

为了解决这个问题,我将所有函数放在我的游戏循环中,在if语句中调用这些对象。

if (typeof ent_player !== undefined)
{
    //Draw image
}

但我还是得到了错误。在if语句中,我使用console.logtypeof ent_player,其返回为undefined

非常疑惑为什么这段代码仍在运行并导致问题,我使用了我选择的调试器(Firebug)。

我在if语句上设置了一个断点,但是,每当我使用调试器逐步执行代码时,它都能完美运行。正确的输出等等。然后,一旦我再次尝试没有调试器,同样的问题。

任何人都可以告诉我为什么会发生这种情况以及如何解决这个问题?

非常感谢。

编辑:Sprite构造函数如下所示:

function Sprite(image)
{
    this.img = image;
    this.height = this.img.height;
    this.width = this.img.width;
    this.x = 0;
    this.y = 0;
}

0 个答案:

没有答案