课程
/前端开发
/HTML/CSS
/HTML5小游戏---爱心鱼(上)
为什么我尝试不调用gameloop 把drawBackground放在game或者init里调用都不会显示背景 只有放在gameloop里用game调用才会显示背景
2018-09-14
源自:HTML5小游戏---爱心鱼(上) 2-1
正在回答
bgPic.src = "./src/background.jpg";
上面代码执行后开始加载图片,加载成功需要一点点时间,图片还没完全加载好,就执行了你init里的drawBackground方法,所以无法绘图(把该方法放到setTimeout里延迟一点时间调用你可以看到能绘制图片)
另外,如果你把gameloop里window.requestAnimFrame这行注释掉不重复调用drawBackground画背景的话,也是无法显示图片,
所以,图片显示不显示,和放game或init里没有关系,主要看画图时图片是否已经加载完成,
个人理解,不知道是否正确。
bgPic.src = './src/background.jpg';
bgPic.onload = drawBackground;
qq_不忧心_0
qq_不忧心_0 回复 qq_不忧心_0
举报
学做HTML5游戏,轻轻松松带你上手,适合刚入手游戏开发的同学
1 回答drawBackground();这个函数为什么是在gameloop里调用,gameloop()具体是怎么循环的
4 回答lerp函数
3 回答未定义函数
4 回答requestAnimFrame不是一个函数
2 回答关键的函数,有没有网址连接?