我想运行一个for循环,它的颜色为褐色。这条线会越来越小,但不会太小。
最终图像将如下所示,但桌面颜色为棕色:
//Back wall
fill(102, 102, 102);
rect(50,50,300,300);
//Top Left Corner
line(50,50,0,0);
//Top Right Corner
line(350,50,400,0);
//Bottom Left Corner
line(350,350,400,400);
//Bottom Riight Corner
line(50,350,0,400);
//Table
//Top Left
fill(48, 17, 0);
rect(163,312,3,38);
//Top Right
fill(48, 17, 0);
rect(230,312,3,38);
//Mesa
fill(48, 17, 0);
rect(126,322,142,5);
//Right Side
line(126,322,168,312);
//Top Side
line(234,312,168,312);
//Right Side
line(269,322,232,312);
//Bottom Left Leg
rect(126,327,5,41);
line(126,368,126,322);
//Bottom Right Leg
rect(263,327,5,41);
line(269,368,268,322);
我试过这个循环:
for(var x = 200; x > 100; x--){
stroke(61, 34, 0);
line(x,200,x,200);
}
x值将减小,直到x = 100.但是,在确定background()之后,它没有显示变小的行!已经不在了。
P.S。给出的代码是分开的。
答案 0 :(得分:1)
您只是更改正在绘制的线条的x
坐标,因此线条会水平移动,而不是垂直移动。
如果您希望线条垂直移动(在表格中为颜色)和水平移动(在“越远”时使其变小),您将不得不同时更改x
和{{ 1}}您传递给y
函数的值。
但是你要比现在更难。你没有理由画一堆线来获得这种形状。只需使用 beginShape()
函数直接绘制多边形。像这样:
line()
请注意,这只是一个示例,您必须使用值来在正确的位置绘制它。但重点是你不必使用for循环来绘制线条来绘制多边形。
由于您正在尝试绘制3D场景,您还应注意,您可以简单地使用3D坐标和vertex()
功能来绘制3D。不需要试图强迫自己的观点。