每次用户按下按钮时,我都会在画布上绘图,但有时图像不会在画布上绘制。我认为这可能是在 context.drawimage 函数运行之前没有及时加载图像,因为有时会绘制一些较小的文件。我已经使用了控制台并检查了资源,所以这是我能想到的唯一问题。
我该如何避免这个问题?
这是我的 Javascript 代码。
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
var questionbg = new Image();
var answerbg = new Image();
//this code is inside a function that is called each time a user presses a button
if(questiontype == "text"){
questionbg.src = "./resources/textquestionbg.png";
context.drawImage(questionbg, 0, 0);
}
//if image question
else if(questiontype == "image"){
questionbg.src = "./resources/imageaudiovideoquestionbg.png";
context.drawImage(questionbg, 0, 0);
}
//if audio question
else if(questiontype == "audio"){
questionbg.src = "./resources/imageaudiovideoquestionbg.png";
context.drawImage(questionbg, 0, 0);
}
//else it is a video question
else{
questionbg.src = "./resources/imageaudiovideoquestionbg.png";
context.drawImage(questionbg, 0, 0);
}