JavaScriptでCanvasに画像を描画しようとしているのですが、もちろん画像が読み込まれるまで待ちたいです。ただし、私の onload 関数は呼び出されないようです。
これが私が試したことです:
function GameObject(x, y)
{
this.x = x;
this.y = y;
this.image = {};
this.loaded = false;
this.load = function(filename)
{
this.image = new Image();
this.image.onload = function()
{
alert("image loaded");
this.loaded = true;
};
this.image.src = filename;
};
};
次のようにロード関数を呼び出しています。
$( document ).ready(function()
{
main();
});
var player = new Player(0, 0);
function main()
{
player.load("images/player.png");
};
Player は GameObject から継承します。
FireBug を使用すると、画像が読み込まれたように見えますが、「画像が読み込まれました」というアラートは表示されず、this.loaded は false のままです。
何が間違っている可能性がありますか?
EDIT : イメージがロードされました (パス名にエラーがありました) が、アラートが呼び出されている間、 this.loaded が true に設定されることはありません。