Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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_Canvas_Requestanimationframe - Fatal编程技术网

Javascript 使用“请求动画帧”在画布中设置线条绘制动画

Javascript 使用“请求动画帧”在画布中设置线条绘制动画,javascript,canvas,requestanimationframe,Javascript,Canvas,Requestanimationframe,我正在努力使用请求动画帧创建线条绘制动画。当我使用setInterval函数时,一切都很好,但我在某处读到请求ani帧更优化,interval中的所有函数都应该以这种方式编写 这是我的代码: var-topMinX=3; var-topMaxX=75; var-topMinY=2 var-topMaxY=2; var-min; var-max //请求动画帧 (函数animate(){ var t=setTimeout(函数(){ 请求动画帧(动画); var d=渲染(topMinX、topM

我正在努力使用请求动画帧创建线条绘制动画。当我使用setInterval函数时,一切都很好,但我在某处读到请求ani帧更优化,interval中的所有函数都应该以这种方式编写

这是我的代码:

var-topMinX=3; var-topMaxX=75; var-topMinY=2
var-topMaxY=2; var-min; var-max

//请求动画帧
(函数animate(){
var t=setTimeout(函数(){
请求动画帧(动画);
var d=渲染(topMinX、topMaxX、topMinY、topMaxY、true);
},20);
})();
函数渲染(xMin、xMax、yMin、yMax、direction){
如果(指示){
min=xMin;
max=xMax
}否则{
min=yMin;
max=yMax;
}      

if(min我不知道正方形绘图,但这里的问题似乎是变量传递给函数

在将furher传递到函数中时,您在开始时定义的那些变量不会更改

您可以在此处查看其工作原理:

function swap(a, b) {
   var tmp = a;
   a = b;
   b = tmp; //assign tmp to b
}

var x = 1, y = 2;
swap(x, y);

alert("x is " + x + " y is " + y); // "x is 1 y is 2"
你的例子是什么


它确实画了一条线,topMinX是递增的

嗯……是的……我知道这就是问题所在,但我不知道如何解决它:(.我需要将X和Y作为参数传递,否则我将使用huuuge递归。基本上,在最后我要调用render函数,它的回调将再次触发render函数,但使用不同的参数,因此它将绘制新线,等等…@hjuster:check out updated这是您想要实现的吗?它需要一些参数抛光,但或多或少,就是这样!谢谢兄弟!
function swap(a, b) {
   var tmp = a;
   a = b;
   b = tmp; //assign tmp to b
}

var x = 1, y = 2;
swap(x, y);

alert("x is " + x + " y is " + y); // "x is 1 y is 2"