0

関数内に画像を読み込もうとしていますが、画像が画面に表示されません。コンソール エラーがないので、なぜ機能しないのかわかりません。コード:

var canvas = document.getElementById('canvas');
ctx = canvas.getContext('2d');

var score = 0;
var menuImg = new Image();
menuImg.src = "images/Startscreen.png";

gamemenu();

//The menu screen
function gamemenu(){
    ctx.drawImage(menuImg,0,0);
}

関数が呼び出されたときに画像を描画する必要がありますが、描画しません。

4

1 に答える 1

0

画像の読み込みは非同期プロセスであるため、「読み込み」イベントのイベント ハンドラーを追加する必要があります。

menuImg = new Image();
menuImg.addEventListener("load", function () {
    gamemenu();
}, false);

キャンバスとスプライトのレンダリングを多用しているため、プロジェクトで定期的にこれに対処しています。

更新:このトピックに関するMDN のページはこちらです。

于 2012-10-03T19:51:11.370 に答える