按下按钮时图像持续闪烁
Image is flickering continuously in pressing button?
当我连续按下按钮时,图像闪烁。问题可能出现在ctx.clearRect(0,0,100,500)
中。我该如何解决这个问题?
我正在尝试在HTML5画布中制作动画。我需要画布上的一个移动对象,当我按下按钮时,另一个移动的对象会跟随前一个移动而不闪烁。
function draw(x,y){
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.save();
ctx.clearRect(0,0,100,500); // This may be the problem
var img=document.getElementById("Image");
ctx.drawImage(img,50,y);
ctx.restore();
y -= 10;
var loopTimer = setTimeout('draw('+x+','+y+')',50);
}
HTML 5
<button onclick="draw(0,500)">Draw</button>
<canvas id="canvas" width="600" height="500">
</canvas>
看起来问题可能是因为您没有清除整个canvas
。试试这个:
function draw(x,y){
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.save();
ctx.clearRect(0,0, canvas.width, canvas.height);
var img=document.getElementById("Image");
ctx.drawImage(img,50,y);
ctx.restore();
y -= 10;
var loopTimer = setTimeout('draw('+x+','+y+')',50);
}
演示
当你多次按下按钮时,图像会闪烁,这意味着你多次启动setTimeout()。添加一个变量以检查它是否已被按下。
相关文章:
- 如何使用按键避免图像闪烁
- 使用setInterval()函数进行图像闪烁
- addClass,它更改bg图像,但在第一次加载时没有闪烁
- 悬停时setInterval中的图像闪烁
- 按下按钮时图像持续闪烁
- jQuery图像在悬停时闪烁
- 当使用MouseEvent将图像更改为其他图像时,如何避免闪烁
- 正在创建随机图像闪烁
- 滚动的背景图像仍在闪烁
- jQuery-鼠标输入闪烁图像
- Javascript图像动画闪烁图像错误
- skrollr背景图像在Firefox中闪烁
- iOS 8中滚动时的背景图像闪烁问题
- 在画布中拖动时图像会闪烁
- 卡曼图像操纵和闪烁
- 猫头鹰图像轮播 - 闪烁的按钮
- 将闪烁的图像从左向右移动 jquery
- JQuery循环闪烁图像
- Jquery旋转木马闪烁图像问题
- Jquery .hover -闪烁图像