Javascript 为什么fill()会影响p5.js中的所有函数?

Javascript 为什么fill()会影响p5.js中的所有函数?,javascript,processing,p5.js,Javascript,Processing,P5.js,每当我使用fill-in p5.js时,我所有的用户定义函数都会受到它的影响。为什么? 这是我的密码: let a1 = a2 = 0; function setup() { createCanvas(400, 400); } function draw() { background(200); fill(100,100,10); translate(width/2,height/2); angleMode(DEGREES); rotate(a1); ellip

每当我使用fill-in p5.js时,我所有的用户定义函数都会受到它的影响。为什么?

这是我的密码:

let a1 = a2 = 0;
function setup() {
    createCanvas(400, 400);
}

function draw() {
  background(200);
  fill(100,100,10);
  translate(width/2,height/2);
  angleMode(DEGREES);
  rotate(a1);
  ellipse(20,20,50,50);
  a1+=1;
  (20,20);
}

function rotateAbout(x,y){
  translate(x,y);
  angleMode(DEGREES);
  rotate(a2);
  ellipse(15,15,20,20);
  a2+=1;
}
该函数不填充任何内容。它设置用于填充形状的颜色。这种颜色是一种全球性的状态。 在处理过程中,形状由当前填充颜色填充。这会导致调用fill后绘制的所有对象都被设置的颜色填充。 您必须调用以禁用填充几何体

e、 g

如果执行以下操作,则将填充在rotateAbout中绘制的对象:

填充100,100,10; 旋转输出0,0; 如果您执行以下操作,则不会填写:

无填料; 旋转输出0,0; 请注意,填充颜色等状态甚至会保留在帧之外。如果在绘图结束时设置填充颜色,则下次输入绘图时仍将设置颜色。 状态一直保持到下一次调用fill或noFill。

什么是20,20?为什么他们不会受到影响呢?