代码1正在运行,并给出了10行半径为10的圆。
代码2不能按预期工作,它仅给出了半径为10的单行圆。
我认为逻辑是正确的,但是在纸质js文档方面,我仍然很可能会缺少一些东西。
canvas {
width: 100%;
background-color: black;
}
body,
html {
height: 100%;
margin: 0;
}
<!DOCTYPE html>
<html>
<head>
<title>Patapat Sound Project</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.9.18/paper-full.min.js"></script>
<script type="text/paperscript" canvas="canvas">
//Code 1
for(var x = 0; x<1000; x += 100){
for(var y = 0; y<1000; y += 100){
var circle = new Path.Circle(new Point(x, y), 10);
circle.fillColor = 'red';
}
}
//Code 2
var x = 10;
var y = 10;
while(x!=1010 && y!= 1010){
var circle = new Path.Circle(new Point(x,y), 10);
circle.fillColor = 'orange';
if(x==1010){
x=10;
y+=100;
}
else{
x+=100;
}
}
</script>
</head>
<body>
<canvas id="canvas" resize></canvas>
</body>
</html>
答案 0 :(得分:1)
这实际上是您的逻辑问题。
当x值为variables
时,while
循环将在第10次迭代后停止。
您必须在循环中进行检查之前递增x。
这是正确的代码:
1010