Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.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 减慢循环以设置画布动画_Javascript_Html_Canvas - Fatal编程技术网

Javascript 减慢循环以设置画布动画

Javascript 减慢循环以设置画布动画,javascript,html,canvas,Javascript,Html,Canvas,我试着用画布做一些东西,在画布上我可以输入一个数字,这个数字等于某个0-360度,一条线可以从它当前的位置到我设置的角度进行动画 现在,我的线条可以达到我想要的任何程度(我还没有完成函数部分,我通过了这个程度…现在只是在for循环中进行),所以我的主要问题是如何让线条的动画速度变慢?如果我让for循环运行,它就会一直运行到终点。我怎样才能减慢它的速度,使它成为动画 代码如下: 谢谢 编辑:我不是特别喜欢这段代码,所以如果你也有更好的方法,我很乐意听取你的建议。你需要使用setInterval之类

我试着用画布做一些东西,在画布上我可以输入一个数字,这个数字等于某个0-360度,一条线可以从它当前的位置到我设置的角度进行动画

现在,我的线条可以达到我想要的任何程度(我还没有完成函数部分,我通过了这个程度…现在只是在for循环中进行),所以我的主要问题是如何让线条的动画速度变慢?如果我让for循环运行,它就会一直运行到终点。我怎样才能减慢它的速度,使它成为动画

代码如下:

谢谢


编辑:我不是特别喜欢这段代码,所以如果你也有更好的方法,我很乐意听取你的建议。

你需要使用setInterval之类的工具每隔N毫秒调用一段代码。语法是:

setInterval(代码,毫秒)

它返回您需要保存的数字,以便停止代码。所以我们可以写:

 var interval = setInterval(function() {
     clock();
     x++;
     if (x > 90) clearInterval(interval);
 }, 30);
这将创建一个每30毫秒发生一次的函数

每30毫秒调用一次
clock()
x
递增,如果
x
大于90,我们调用
clearInterval
并传入调用
setInterval
返回的号码。这确保代码打开的次数总共为90次

下面是一个活生生的例子:

给你:

这就是我要找的!谢谢