Javascript 处理与处理2

Javascript 处理与处理2,javascript,processing,khan-academy,Javascript,Processing,Khan Academy,所以我在汗学院做了这个,想把它放到我的网站上 要将其转换为JavaScript,我将下面的代码放入。不幸的是,我得到了一个错误:您正在混合活动和静态模式。为什么这在Khan Academy处理中起作用而不是在正常处理中起作用?还有什么其他的方法可以让我写这篇文章呢 //don't forget to click!!! background(2, 3, 3); strokeWeight(2); var x = random; void setup(){ size(500,500); }

所以我在汗学院做了这个,想把它放到我的网站上

要将其转换为JavaScript,我将下面的代码放入。不幸的是,我得到了一个错误:您正在混合活动和静态模式。为什么这在Khan Academy处理中起作用而不是在正常处理中起作用?还有什么其他的方法可以让我写这篇文章呢

//don't forget to click!!!
background(2, 3, 3);

strokeWeight(2);
var x = random;

void setup(){
  size(500,500);
}




void draw(){
   fill(0, 0, 0, 20);
   rect(0,0, 400,400);
    var randomSize = random(20, 60);

     if (mouseIsPressed) { 

        noStroke();
        fill(random(0, 255), random(0, 255), random(0, 255), 373);

        } 

    else {
        noStroke();
        fill(255, 0, 0, 15);
        randomSize=50;
    }
    ellipse(mouseX, mouseY, randomSize, randomSize);
};

您的代码有几个问题。首先,您不能在
draw()
setup()
之外调用函数——这就是导致“活动与静态”错误的原因。将它们移动到
setup()
的内部。第二,在处理过程中没有按下鼠标的动作,但是有按下鼠标的动作。
draw()
的右大括号后面也不需要分号。您还可以使用硬编码值
400
来绘制矩形,而窗口本身是
500
x
500
。无论如何,您不应该使用那样的硬编码数字,请使用内置的
width
height
常量。最后,您从未使用变量
x
,因此我将其注释掉。下面是有效的代码(并且已清理,格式正确)


你可能对这个问题的答案感兴趣。非常感谢!我发现我不应该有setup()之外的函数,但按下鼠标仍然把我搞砸了。我真的很困惑,这让我明白了。也谢谢你的建议!
//don't forget to click!!!

void setup() {
  size(500, 500);
  background(2, 3, 3);
  strokeWeight(2);
  //var x = random;
}

void draw() {
  fill(0, 0, 0, 20);
  rect(0, 0, width, height);
  var randomSize = random(20, 60);
  noStroke();

  if (mousePressed) { 
    fill(random(0, 255), random(0, 255), random(0, 255), 373);
  }  else {
    fill(255, 0, 0, 15);
    randomSize=50;
  }
  ellipse(mouseX, mouseY, randomSize, randomSize);
}