Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 暂停并恢复HTML5画布?_Javascript_Html_Canvas - Fatal编程技术网

Javascript 暂停并恢复HTML5画布?

Javascript 暂停并恢复HTML5画布?,javascript,html,canvas,Javascript,Html,Canvas,有没有办法暂停/恢复HTML5画布 说出我的密码: // Draw lines with decreasing widths for (i = 20; i > 0; i--) { var v=i*20 ctx.strokeStyle = "rgb("+v+", "+v+", "+v+")"; ctx.lineWidth = i; ctx.beginPath(); ctx.moveTo(55, 20 + (20 - i) * 24); ctx.lin

有没有办法暂停/恢复HTML5画布

说出我的密码:

// Draw lines with decreasing widths
 for (i = 20; i > 0; i--)
 {
    var v=i*20
   ctx.strokeStyle = "rgb("+v+", "+v+", "+v+")";
   ctx.lineWidth = i;
   ctx.beginPath();
   ctx.moveTo(55, 20 + (20 - i) * 24);
   ctx.lineTo(335, 20 + (20 - i) * 24);
   ctx.stroke();
}
在代码开始时,我想暂停()意思是,我会告诉浏览器“好的,你现在真的不必浪费任何资源做任何实际的绘图”,我只会告诉你命令。然后在循环之后,我将调用Resume(),意思是“好的,您现在可以开始绘制它们了”


顺便说一句,有人知道javascript中是否有上下文对象的完整引用(我在google和MDC中都找不到它)

尝试在屏幕外画线,而不是“暂停”画布:

它将产生同样的结果

var renderToCanvas = function (width, height, renderFunction) {
  var buffer = document.createElement('canvas');
  buffer.width = width;
  buffer.height = height;
  renderFunction(buffer.getContext('2d'));
  return buffer;
};

(取自上述网页的代码片段)

我解决无事发生时资源使用问题的一种方法是设置var isStarted=false

然后根据事物是否正在设置动画来打开和关闭它

然后使用该变量控制setTimeout/requestAnimFrame

if (isStarted) {
  setTimeout(function() {}, 1000/33);// animation loop thing
}

我这样做是为了一个我开始构建的游戏环境,它工作得非常完美。

上下文对象的完整参考如下:嗨,你能举个例子吗?对于在canvas video?中播放和暂停,我尝试在暂停后播放视频,但我认为在后台它仍在播放。