在将 background() 调用添加到 draw() 之后,问题现在似乎出在我最初认为的 SQUARE strokeCap 而不是 noLoop() 上。REM 出 strokeCap(SQUARE) 并且运行正常。UN-REM 它和行返回有或没有 noLoop(); PROJECT caps 和 no caps 仍然没有线条,有或没有 noLoop()。我不认为浮点值有什么不同。请注意,我删除了 strokeCap(SQUARE) 的十进制值以排除这种可能性。我无法告诉你为什么用 strokeCap(SQUARE) 出现线条,但我看到摆脱线条的唯一方法是使用 PROJECT 选项,根本没有大写,或者保留它们,但重叠末端1分。无论如何,Processing Reference 声明 line() 的所有参数都是浮点数。
void setup() {
size(500, 500);
noLoop();
}
void draw() {
background(209); // Added and it makes a difference
stroke(0);
strokeWeight(50);
// NO cap
line(60, 80, 180.3, 80);
line(180.3, 80, 280.8, 80);
line(280.8, 80, 380.5, 80);
// (SQUARE) cap
strokeCap(SQUARE); // REM this out to get rid of lines
line(60, 160, 160, 160);
line(160, 160, 260, 160);
line(260, 160, 360, 160);
// (PROJECT) cap
strokeCap(PROJECT);
line(60, 260, 160.5, 260);
line(160.5, 260, 260.5, 260);
line(260.5, 260, 360.5, 260);
// (SQUARE) cap with 1 point of overlap
strokeCap(SQUARE); // No lines with overlap
line(60, 360, 160.8, 360);
line(159.8, 360, 260.3, 360);
line(259.3, 360, 360.5, 360);
}