Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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 有人能帮忙吗?I';我正在尝试制作一个程序,在数字-1到10之间循环,并用半径平方做圆,但它不';行不通_Javascript_Function_Loops_For Loop - Fatal编程技术网

Javascript 有人能帮忙吗?I';我正在尝试制作一个程序,在数字-1到10之间循环,并用半径平方做圆,但它不';行不通

Javascript 有人能帮忙吗?I';我正在尝试制作一个程序,在数字-1到10之间循环,并用半径平方做圆,但它不';行不通,javascript,function,loops,for-loop,Javascript,Function,Loops,For Loop,我希望程序通过for循环中的每个数字循环,并创建一个半径为该数字平方的圆,但它似乎不起作用。我只创建一个半径为for循环中最后一个数字的圆 我尝试创建一个单独的函数并返回值并将其放入draw函数中,但这似乎不起作用 function setup() { createCanvas(600, 600); } function draw() { for (i = -1; i <= 10; i++) { newI = i ** 2; }; background(250);

我希望程序通过for循环中的每个数字循环,并创建一个半径为该数字平方的圆,但它似乎不起作用。我只创建一个半径为for循环中最后一个数字的圆

我尝试创建一个单独的函数并返回值并将其放入draw函数中,但这似乎不起作用

function setup() {
  createCanvas(600, 600);
}

function draw() {
  for (i = -1; i <= 10; i++) {
    newI = i ** 2;
  };
  background(250);
  circle(300, 300, newI);
//ignore the lines those are just the axis//
  line(300, 0, 300, 600);
  line(0, 300, 600, 300);
}
函数设置(){
createCanvas(600600);
}
函数绘图(){

对于@Tim Biegeleisen提到的(i=-1;i),圆()和线()应该在循环中,但另一种方法是将它们分开

与其将逻辑放入循环中,不如让循环迭代调用单独的命名frunction,并将新的i值作为参数传递

编辑:循环更改为递减,以反转半径的顺序

function setup() {
  createCanvas(600, 600);
}

function draw() {
  for (i = 10; i >= -1; i--) {
    createCircle(i ** 2)
  };

}


function createCircle(newI){
  background(250);
  circle(300, 300, newI);
  line(300, 0, 300, 600);
  line(0, 300, 600, 300);
}

正如@Tim Biegeleisen所提到的,圆()和线()应该在循环中,但另一种方法是将它们分开

与其将逻辑放入循环中,不如让循环迭代调用单独的命名frunction,并将新的i值作为参数传递

编辑:循环更改为递减,以反转半径的顺序

function setup() {
  createCanvas(600, 600);
}

function draw() {
  for (i = 10; i >= -1; i--) {
    createCircle(i ** 2)
  };

}


function createCircle(newI){
  background(250);
  circle(300, 300, newI);
  line(300, 0, 300, 600);
  line(0, 300, 600, 300);
}

对于初学者来说,那些对
circle()
line()
的调用可能属于
For
循环。对于初学者来说,那些对
circle()
line()
的调用可能属于
For
循环。我试着运行了这个循环,结果是相同的,只有一个循环。你确定a)你没有在循环的每一次迭代中删除并重新绘制圆?或者b)你没有在相同的坐标处绘制圆,所以实际上有所有10个圆-但每个圆都直接位于其前身之上?关于第二个圆,你可能是对的。它们可能都在彼此之上。我如何制作它们“看穿"?试着从最大半径到最小半径运行循环it-我刚刚更改了循环,使其与注释中建议的顺序相反。我试着运行此循环,结果是相同的,只有一个圆。你确定a)你没有在循环的每次迭代中删除并重新绘制圆吗?或者b)你没有在相同的位置绘制圆co坐标实际上有10个圆,但每个圆都直接位于前一个圆的上方?你可能对第二个圆的看法是正确的。它们可能都在彼此的上方。我如何使它们“透明”?试着从最大半径到最小半径运行你的循环。我只是按照评论中的建议,改变了循环的顺序。