所以我在汗学院做了这个,想把它放在我的网站上。
https://www.khanacademy.org/cs/fade-away/4830224329998336
为了将其转换为JavaScript,我将下面的代码放入其中。不幸的是,我得到了一个错误:您正在混合活动模式和静态模式。为什么这工作在汗学院的处理而不是在正常的处理?另外,我还能用什么其他方式来写这个来使它工作呢?
//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);
};发布于 2014-02-27 02:54:52
您的代码有几个问题。首先,不能在draw()和setup()之外调用函数--这就是导致“活动与静态”错误的原因。把它们移到setup()里面。第二,在处理过程中没有像mouseIsPressed这样的东西,但是有mousePressed。在draw()的大括号结束后,您也不需要分号。您还使用硬编码的400值绘制矩形,而窗口本身是500x500。无论如何,您不应该使用硬编码的数字,而是使用内置的width和height常量。最后,您从不使用变量x,因此我将其注释掉。下面是工作的代码(并且是清理的,格式化的)。
//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);
}https://stackoverflow.com/questions/22057748
复制相似问题