Javascript drawimage是否确实需要img.onload?需要多少次?

Javascript drawimage是否确实需要img.onload?需要多少次?,javascript,html,Javascript,Html,每次我想重画图像时是否需要调用onload?drawimage必须“在”onload函数中吗?onload函数中有什么内容?当我将drawimage放在onload函数之外时,图像不会出现。如果我要给我的精灵设置动画,通常的方法是什么?onload功能是否在整个游戏中运行?我浏览了一些教程,发现它们的工作方式各不相同,我想知道最基本的工作方式。通常将所有精灵合并到一个图像中,这样只需加载一个图像。我知道精灵工作表是什么,但我的问题是,我想知道绘制图像是否需要onload函数,因为当我将drawi

每次我想重画图像时是否需要调用onload?drawimage必须“在”onload函数中吗?onload函数中有什么内容?当我将drawimage放在onload函数之外时,图像不会出现。如果我要给我的精灵设置动画,通常的方法是什么?onload功能是否在整个游戏中运行?我浏览了一些教程,发现它们的工作方式各不相同,我想知道最基本的工作方式。

通常将所有精灵合并到一个图像中,这样只需加载一个图像。我知道精灵工作表是什么,但我的问题是,我想知道绘制图像是否需要onload函数,因为当我将drawimage放在onload函数之外时,它不起作用,即使我在onload函数中放置了一个标志,然后绘制并检查标志是否不起作用。这不是必需的。只要求在使用该函数时图像存在,如果动态加载图像,则onload是保证这一点的方法。那么,当drawimage放在函数本身之外时,为什么它不起作用呢?likevar ctx=document.getElementById('canvas3').getContext(“2d”);var img=新图像();img.src=“images/sprite1.png”;onload=function(){}ctx.drawImage(img,0,0160260,0,040300);因为图像尚未加载。请再次阅读我之前的评论。
var ctx = document.getElementById('canvas3').getContext("2d");
var img=new Image();
img.src="images/sprite1.png";
img.onload=function(){
  ctx.drawImage(img,0,0,160,260,0,0,400,300);
}